{
  "openapi": "3.1.0",
  "info": {
    "title": "Xero Proxy",
    "version": "1.0.0",
    "summary": "A scoped, auditable gateway in front of the Xero API.",
    "description": "Every path below is forwarded one-to-one to Xero. Change the base URL and the credential; nothing else in an existing integration moves. Each operation states the scope the proxy requires in x-required-scope, generated from the same table the enforcement middleware checks."
  },
  "servers": [
    {
      "url": "https://xero-proxy.fullstackplus.com.au"
    }
  ],
  "tags": [
    {
      "name": "Accounting",
      "description": "Xero Accounting API, proxied at /api.xro/2.0"
    },
    {
      "name": "Payroll AU (1.0)",
      "description": "Xero Payroll AU (1.0) API, proxied at /payroll.xro/1.0"
    },
    {
      "name": "Payroll AU",
      "description": "Xero Payroll AU API, proxied at /payroll.xro/2.0"
    },
    {
      "name": "Payroll UK",
      "description": "Xero Payroll UK API, proxied at /payroll.xro/2.0/uk"
    },
    {
      "name": "Payroll NZ",
      "description": "Xero Payroll NZ API, proxied at /payroll.xro/2.0/nz"
    },
    {
      "name": "Files",
      "description": "Xero Files API, proxied at /files.xro/1.0"
    },
    {
      "name": "Assets",
      "description": "Xero Assets API, proxied at /assets.xro/1.0"
    },
    {
      "name": "Projects",
      "description": "Xero Projects API, proxied at /projects.xro/2.0"
    },
    {
      "name": "Bank Feeds",
      "description": "Xero Bank Feeds API, proxied at /bankfeeds.xro/1.0"
    },
    {
      "name": "Finance",
      "description": "Xero Finance API, proxied at /finance.xro/1.0"
    },
    {
      "name": "Proxy",
      "description": "Endpoints the proxy answers itself"
    }
  ],
  "paths": {
    "/api.xro/2.0/Accounts": {
      "get": {
        "operationId": "get_api_xro_2_0_Accounts",
        "summary": "List chart of accounts (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Accounts",
        "summary": "Create or update chart of accounts (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Accounts",
        "summary": "Create or update chart of accounts (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Accounts",
        "summary": "List chart of accounts (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/Accounts/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_Accounts_id",
        "summary": "Read a single chart of accounts record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Accounts_id",
        "summary": "Update or delete a single chart of accounts record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Accounts_id",
        "summary": "Update or delete a single chart of accounts record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_Accounts_id",
        "summary": "Update or delete a single chart of accounts record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_Accounts_id",
        "summary": "Update or delete a single chart of accounts record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Accounts_id",
        "summary": "Read a single chart of accounts record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/Accounts/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_Accounts_id_Attachments",
        "summary": "List attachments on a account record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Accounts_id_Attachments",
        "summary": "List attachments on a account record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/Accounts/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_Accounts_id_Attachments_rest",
        "summary": "Download an attachment from a account record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Accounts_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a account record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Accounts_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a account record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Accounts_id_Attachments_rest",
        "summary": "Download an attachment from a account record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/Accounts/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_Accounts_id_History",
        "summary": "Read history and notes on a account record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Accounts_id_History",
        "summary": "Add a history note to a account record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Accounts_id_History",
        "summary": "Add a history note to a account record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Accounts_id_History",
        "summary": "Read history and notes on a account record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/BankTransactions": {
      "get": {
        "operationId": "get_api_xro_2_0_BankTransactions",
        "summary": "List bank transactions (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_BankTransactions",
        "summary": "Create or update bank transactions (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_BankTransactions",
        "summary": "Create or update bank transactions (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_BankTransactions",
        "summary": "List bank transactions (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/BankTransactions/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_BankTransactions_id",
        "summary": "Read a single bank transactions record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_BankTransactions_id",
        "summary": "Update or delete a single bank transactions record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_BankTransactions_id",
        "summary": "Update or delete a single bank transactions record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_BankTransactions_id",
        "summary": "Update or delete a single bank transactions record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_BankTransactions_id",
        "summary": "Update or delete a single bank transactions record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_BankTransactions_id",
        "summary": "Read a single bank transactions record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/BankTransactions/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_BankTransactions_id_Attachments",
        "summary": "List attachments on a bank transactions record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_BankTransactions_id_Attachments",
        "summary": "List attachments on a bank transactions record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/BankTransactions/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_BankTransactions_id_Attachments_rest",
        "summary": "Download an attachment from a bank transactions record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_BankTransactions_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a bank transactions record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_BankTransactions_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a bank transactions record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_BankTransactions_id_Attachments_rest",
        "summary": "Download an attachment from a bank transactions record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/BankTransactions/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_BankTransactions_id_History",
        "summary": "Read history and notes on a bank transactions record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_BankTransactions_id_History",
        "summary": "Add a history note to a bank transactions record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_BankTransactions_id_History",
        "summary": "Add a history note to a bank transactions record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_BankTransactions_id_History",
        "summary": "Read history and notes on a bank transactions record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/BankTransfers": {
      "get": {
        "operationId": "get_api_xro_2_0_BankTransfers",
        "summary": "List bank transfers (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_BankTransfers",
        "summary": "Create or update bank transfers (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_BankTransfers",
        "summary": "Create or update bank transfers (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_BankTransfers",
        "summary": "List bank transfers (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/BankTransfers/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_BankTransfers_id",
        "summary": "Read a single bank transfers record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_BankTransfers_id",
        "summary": "Update or delete a single bank transfers record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_BankTransfers_id",
        "summary": "Update or delete a single bank transfers record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_BankTransfers_id",
        "summary": "Update or delete a single bank transfers record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_BankTransfers_id",
        "summary": "Update or delete a single bank transfers record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_BankTransfers_id",
        "summary": "Read a single bank transfers record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/BankTransfers/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_BankTransfers_id_Attachments",
        "summary": "List attachments on a bank transfers record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_BankTransfers_id_Attachments",
        "summary": "List attachments on a bank transfers record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/BankTransfers/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_BankTransfers_id_Attachments_rest",
        "summary": "Download an attachment from a bank transfers record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_BankTransfers_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a bank transfers record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_BankTransfers_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a bank transfers record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_BankTransfers_id_Attachments_rest",
        "summary": "Download an attachment from a bank transfers record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/BankTransfers/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_BankTransfers_id_History",
        "summary": "Read history and notes on a bank transfers record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_BankTransfers_id_History",
        "summary": "Add a history note to a bank transfers record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_BankTransfers_id_History",
        "summary": "Add a history note to a bank transfers record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_BankTransfers_id_History",
        "summary": "Read history and notes on a bank transfers record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/BatchPayments": {
      "get": {
        "operationId": "get_api_xro_2_0_BatchPayments",
        "summary": "List batch payments (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_BatchPayments",
        "summary": "Create or update batch payments (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_BatchPayments",
        "summary": "Create or update batch payments (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_BatchPayments",
        "summary": "List batch payments (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/BatchPayments/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_BatchPayments_id",
        "summary": "Read a single batch payments record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_BatchPayments_id",
        "summary": "Update or delete a single batch payments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_BatchPayments_id",
        "summary": "Update or delete a single batch payments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_BatchPayments_id",
        "summary": "Update or delete a single batch payments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_BatchPayments_id",
        "summary": "Update or delete a single batch payments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_BatchPayments_id",
        "summary": "Read a single batch payments record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/BatchPayments/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_BatchPayments_id_Attachments",
        "summary": "List attachments on a batch payments record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_BatchPayments_id_Attachments",
        "summary": "List attachments on a batch payments record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/BatchPayments/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_BatchPayments_id_Attachments_rest",
        "summary": "Download an attachment from a batch payments record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_BatchPayments_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a batch payments record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_BatchPayments_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a batch payments record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_BatchPayments_id_Attachments_rest",
        "summary": "Download an attachment from a batch payments record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/BatchPayments/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_BatchPayments_id_History",
        "summary": "Read history and notes on a batch payments record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_BatchPayments_id_History",
        "summary": "Add a history note to a batch payments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_BatchPayments_id_History",
        "summary": "Add a history note to a batch payments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_BatchPayments_id_History",
        "summary": "Read history and notes on a batch payments record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/BrandingThemes": {
      "get": {
        "operationId": "get_api_xro_2_0_BrandingThemes",
        "summary": "List branding themes (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_BrandingThemes",
        "summary": "Create or update branding themes (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_BrandingThemes",
        "summary": "Create or update branding themes (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_BrandingThemes",
        "summary": "List branding themes (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/BrandingThemes/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_BrandingThemes_id",
        "summary": "Read a single branding themes record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_BrandingThemes_id",
        "summary": "Update or delete a single branding themes record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_BrandingThemes_id",
        "summary": "Update or delete a single branding themes record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_BrandingThemes_id",
        "summary": "Update or delete a single branding themes record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_BrandingThemes_id",
        "summary": "Update or delete a single branding themes record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_BrandingThemes_id",
        "summary": "Read a single branding themes record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/BrandingThemes/{id}/PaymentServices": {
      "get": {
        "operationId": "get_api_xro_2_0_BrandingThemes_id_PaymentServices",
        "summary": "Read the payment services applied to a branding theme (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_BrandingThemes_id_PaymentServices",
        "summary": "Apply a payment service to a branding theme (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_BrandingThemes_id_PaymentServices",
        "summary": "Read the payment services applied to a branding theme (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/Budgets": {
      "get": {
        "operationId": "get_api_xro_2_0_Budgets",
        "summary": "List budgets (requires accounting.budgets.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.budgets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.budgets.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Budgets",
        "summary": "List budgets (requires accounting.budgets.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.budgets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.budgets.read"
      }
    },
    "/api.xro/2.0/Budgets/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_Budgets_id",
        "summary": "Read a single budget (requires accounting.budgets.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.budgets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.budgets.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Budgets_id",
        "summary": "Read a single budget (requires accounting.budgets.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.budgets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.budgets.read"
      }
    },
    "/api.xro/2.0/ContactGroups": {
      "get": {
        "operationId": "get_api_xro_2_0_ContactGroups",
        "summary": "List contact groups (requires accounting.contacts.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_ContactGroups",
        "summary": "Create or update contact groups (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_ContactGroups",
        "summary": "Create or update contact groups (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_ContactGroups",
        "summary": "List contact groups (requires accounting.contacts.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts.read"
      }
    },
    "/api.xro/2.0/ContactGroups/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_ContactGroups_id",
        "summary": "Read a single contact groups record (requires accounting.contacts.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_ContactGroups_id",
        "summary": "Update or delete a single contact groups record (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_ContactGroups_id",
        "summary": "Update or delete a single contact groups record (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_ContactGroups_id",
        "summary": "Update or delete a single contact groups record (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_ContactGroups_id",
        "summary": "Update or delete a single contact groups record (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_ContactGroups_id",
        "summary": "Read a single contact groups record (requires accounting.contacts.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts.read"
      }
    },
    "/api.xro/2.0/ContactGroups/{id}/Contacts": {
      "get": {
        "operationId": "get_api_xro_2_0_ContactGroups_id_Contacts",
        "summary": "List the contacts in a contact group (requires accounting.contacts.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_ContactGroups_id_Contacts",
        "summary": "Add or clear the contacts in a contact group (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_ContactGroups_id_Contacts",
        "summary": "Add or clear the contacts in a contact group (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_ContactGroups_id_Contacts",
        "summary": "Add or clear the contacts in a contact group (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_ContactGroups_id_Contacts",
        "summary": "List the contacts in a contact group (requires accounting.contacts.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts.read"
      }
    },
    "/api.xro/2.0/ContactGroups/{id}/Contacts/{contactId}": {
      "delete": {
        "operationId": "delete_api_xro_2_0_ContactGroups_id_Contacts_contactId",
        "summary": "Remove one contact from a contact group (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "/api.xro/2.0/Contacts": {
      "get": {
        "operationId": "get_api_xro_2_0_Contacts",
        "summary": "List contacts (requires accounting.contacts.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Contacts",
        "summary": "Create or update contacts (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Contacts",
        "summary": "Create or update contacts (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Contacts",
        "summary": "List contacts (requires accounting.contacts.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts.read"
      }
    },
    "/api.xro/2.0/Contacts/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_Contacts_id",
        "summary": "Read a single contacts record (requires accounting.contacts.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Contacts_id",
        "summary": "Update or delete a single contacts record (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Contacts_id",
        "summary": "Update or delete a single contacts record (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_Contacts_id",
        "summary": "Update or delete a single contacts record (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_Contacts_id",
        "summary": "Update or delete a single contacts record (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Contacts_id",
        "summary": "Read a single contacts record (requires accounting.contacts.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts.read"
      }
    },
    "/api.xro/2.0/Contacts/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_Contacts_id_Attachments",
        "summary": "List attachments on a contact record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Contacts_id_Attachments",
        "summary": "List attachments on a contact record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/Contacts/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_Contacts_id_Attachments_rest",
        "summary": "Download an attachment from a contact record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Contacts_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a contact record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Contacts_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a contact record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Contacts_id_Attachments_rest",
        "summary": "Download an attachment from a contact record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/Contacts/{id}/CISSettings": {
      "get": {
        "operationId": "get_api_xro_2_0_Contacts_id_CISSettings",
        "summary": "Read CIS settings for a contact (requires accounting.contacts.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Contacts_id_CISSettings",
        "summary": "Read CIS settings for a contact (requires accounting.contacts.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts.read"
      }
    },
    "/api.xro/2.0/Contacts/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_Contacts_id_History",
        "summary": "Read history and notes on a contact record (requires accounting.contacts.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Contacts_id_History",
        "summary": "Add a history note to a contact record (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Contacts_id_History",
        "summary": "Add a history note to a contact record (requires accounting.contacts, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Contacts_id_History",
        "summary": "Read history and notes on a contact record (requires accounting.contacts.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.contacts.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.contacts.read"
      }
    },
    "/api.xro/2.0/CreditNotes": {
      "get": {
        "operationId": "get_api_xro_2_0_CreditNotes",
        "summary": "List credit notes (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_CreditNotes",
        "summary": "Create or update credit notes (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_CreditNotes",
        "summary": "Create or update credit notes (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_CreditNotes",
        "summary": "List credit notes (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/CreditNotes/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_CreditNotes_id",
        "summary": "Read a single credit notes record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_CreditNotes_id",
        "summary": "Update or delete a single credit notes record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_CreditNotes_id",
        "summary": "Update or delete a single credit notes record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_CreditNotes_id",
        "summary": "Update or delete a single credit notes record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_CreditNotes_id",
        "summary": "Update or delete a single credit notes record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_CreditNotes_id",
        "summary": "Read a single credit notes record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/CreditNotes/{id}/Allocations": {
      "get": {
        "operationId": "get_api_xro_2_0_CreditNotes_id_Allocations",
        "summary": "List the allocations on a credit note (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_CreditNotes_id_Allocations",
        "summary": "Allocate a credit note to an invoice or bill (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_CreditNotes_id_Allocations",
        "summary": "Allocate a credit note to an invoice or bill (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_CreditNotes_id_Allocations",
        "summary": "List the allocations on a credit note (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/CreditNotes/{id}/Allocations/{allocationId}": {
      "delete": {
        "operationId": "delete_api_xro_2_0_CreditNotes_id_Allocations_allocationId",
        "summary": "Remove one allocation from a credit note (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "allocationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "/api.xro/2.0/CreditNotes/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_CreditNotes_id_Attachments",
        "summary": "List attachments on a credit notes record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_CreditNotes_id_Attachments",
        "summary": "List attachments on a credit notes record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/CreditNotes/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_CreditNotes_id_Attachments_rest",
        "summary": "Download an attachment from a credit notes record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_CreditNotes_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a credit notes record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_CreditNotes_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a credit notes record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_CreditNotes_id_Attachments_rest",
        "summary": "Download an attachment from a credit notes record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/CreditNotes/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_CreditNotes_id_History",
        "summary": "Read history and notes on a credit notes record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_CreditNotes_id_History",
        "summary": "Add a history note to a credit notes record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_CreditNotes_id_History",
        "summary": "Add a history note to a credit notes record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_CreditNotes_id_History",
        "summary": "Read history and notes on a credit notes record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Currencies": {
      "get": {
        "operationId": "get_api_xro_2_0_Currencies",
        "summary": "List currencies (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Currencies",
        "summary": "Create or update currencies (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Currencies",
        "summary": "Create or update currencies (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Currencies",
        "summary": "List currencies (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/Currencies/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_Currencies_id",
        "summary": "Read a single currencies record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Currencies_id",
        "summary": "Update or delete a single currencies record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Currencies_id",
        "summary": "Update or delete a single currencies record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_Currencies_id",
        "summary": "Update or delete a single currencies record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_Currencies_id",
        "summary": "Update or delete a single currencies record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Currencies_id",
        "summary": "Read a single currencies record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/Employees": {
      "get": {
        "operationId": "get_api_xro_2_0_Employees",
        "summary": "List employees (accounting) (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Employees",
        "summary": "Create or update employees (accounting) (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Employees",
        "summary": "Create or update employees (accounting) (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Employees",
        "summary": "List employees (accounting) (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/Employees/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_Employees_id",
        "summary": "Read a single employees (accounting) record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Employees_id",
        "summary": "Update or delete a single employees (accounting) record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Employees_id",
        "summary": "Update or delete a single employees (accounting) record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_Employees_id",
        "summary": "Update or delete a single employees (accounting) record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_Employees_id",
        "summary": "Update or delete a single employees (accounting) record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Employees_id",
        "summary": "Read a single employees (accounting) record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/ExpenseClaims": {
      "get": {
        "operationId": "get_api_xro_2_0_ExpenseClaims",
        "summary": "List expense claims (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_ExpenseClaims",
        "summary": "Create or update expense claims (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_ExpenseClaims",
        "summary": "Create or update expense claims (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_ExpenseClaims",
        "summary": "List expense claims (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/ExpenseClaims/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_ExpenseClaims_id",
        "summary": "Read a single expense claims record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_ExpenseClaims_id",
        "summary": "Update or delete a single expense claims record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_ExpenseClaims_id",
        "summary": "Update or delete a single expense claims record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_ExpenseClaims_id",
        "summary": "Update or delete a single expense claims record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_ExpenseClaims_id",
        "summary": "Update or delete a single expense claims record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_ExpenseClaims_id",
        "summary": "Read a single expense claims record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/ExpenseClaims/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_ExpenseClaims_id_Attachments",
        "summary": "List attachments on a expense claims record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_ExpenseClaims_id_Attachments",
        "summary": "List attachments on a expense claims record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/ExpenseClaims/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_ExpenseClaims_id_Attachments_rest",
        "summary": "Download an attachment from a expense claims record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_ExpenseClaims_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a expense claims record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_ExpenseClaims_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a expense claims record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_ExpenseClaims_id_Attachments_rest",
        "summary": "Download an attachment from a expense claims record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/ExpenseClaims/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_ExpenseClaims_id_History",
        "summary": "Read history and notes on a expense claims record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_ExpenseClaims_id_History",
        "summary": "Add a history note to a expense claims record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_ExpenseClaims_id_History",
        "summary": "Add a history note to a expense claims record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_ExpenseClaims_id_History",
        "summary": "Read history and notes on a expense claims record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/InvoiceReminders/Settings": {
      "get": {
        "operationId": "get_api_xro_2_0_InvoiceReminders_Settings",
        "summary": "Read invoice reminder settings (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_InvoiceReminders_Settings",
        "summary": "Read invoice reminder settings (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/Invoices": {
      "get": {
        "operationId": "get_api_xro_2_0_Invoices",
        "summary": "List invoices (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Invoices",
        "summary": "Create or update invoices (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Invoices",
        "summary": "Create or update invoices (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Invoices",
        "summary": "List invoices (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Invoices/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_Invoices_id",
        "summary": "Read a single invoices record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Invoices_id",
        "summary": "Update or delete a single invoices record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Invoices_id",
        "summary": "Update or delete a single invoices record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_Invoices_id",
        "summary": "Update or delete a single invoices record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_Invoices_id",
        "summary": "Update or delete a single invoices record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Invoices_id",
        "summary": "Read a single invoices record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Invoices/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_Invoices_id_Attachments",
        "summary": "List attachments on a invoices record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Invoices_id_Attachments",
        "summary": "List attachments on a invoices record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/Invoices/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_Invoices_id_Attachments_rest",
        "summary": "Download an attachment from a invoices record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Invoices_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a invoices record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Invoices_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a invoices record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Invoices_id_Attachments_rest",
        "summary": "Download an attachment from a invoices record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/Invoices/{id}/Email": {
      "post": {
        "operationId": "post_api_xro_2_0_Invoices_id_Email",
        "summary": "Send an invoice by email from Xero (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "/api.xro/2.0/Invoices/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_Invoices_id_History",
        "summary": "Read history and notes on a invoices record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Invoices_id_History",
        "summary": "Add a history note to a invoices record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Invoices_id_History",
        "summary": "Add a history note to a invoices record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Invoices_id_History",
        "summary": "Read history and notes on a invoices record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Invoices/{id}/OnlineInvoice": {
      "get": {
        "operationId": "get_api_xro_2_0_Invoices_id_OnlineInvoice",
        "summary": "Read the online invoice URL for an invoice (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Invoices_id_OnlineInvoice",
        "summary": "Read the online invoice URL for an invoice (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Items": {
      "get": {
        "operationId": "get_api_xro_2_0_Items",
        "summary": "List items (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Items",
        "summary": "Create or update items (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Items",
        "summary": "Create or update items (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Items",
        "summary": "List items (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/Items/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_Items_id",
        "summary": "Read a single items record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Items_id",
        "summary": "Update or delete a single items record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Items_id",
        "summary": "Update or delete a single items record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_Items_id",
        "summary": "Update or delete a single items record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_Items_id",
        "summary": "Update or delete a single items record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Items_id",
        "summary": "Read a single items record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/Journals": {
      "get": {
        "operationId": "get_api_xro_2_0_Journals",
        "summary": "Read the general ledger journals feed (requires accounting.journals.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.journals.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.journals.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Journals",
        "summary": "Read the general ledger journals feed (requires accounting.journals.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.journals.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.journals.read"
      }
    },
    "/api.xro/2.0/Journals/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_Journals_id",
        "summary": "Read a single general ledger journal (requires accounting.journals.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.journals.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.journals.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Journals_id",
        "summary": "Read a single general ledger journal (requires accounting.journals.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.journals.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.journals.read"
      }
    },
    "/api.xro/2.0/LinkedTransactions": {
      "get": {
        "operationId": "get_api_xro_2_0_LinkedTransactions",
        "summary": "List linked transactions (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_LinkedTransactions",
        "summary": "Create or update linked transactions (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_LinkedTransactions",
        "summary": "Create or update linked transactions (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_LinkedTransactions",
        "summary": "List linked transactions (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/LinkedTransactions/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_LinkedTransactions_id",
        "summary": "Read a single linked transactions record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_LinkedTransactions_id",
        "summary": "Update or delete a single linked transactions record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_LinkedTransactions_id",
        "summary": "Update or delete a single linked transactions record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_LinkedTransactions_id",
        "summary": "Update or delete a single linked transactions record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_LinkedTransactions_id",
        "summary": "Update or delete a single linked transactions record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_LinkedTransactions_id",
        "summary": "Read a single linked transactions record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/LinkedTransactions/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_LinkedTransactions_id_Attachments",
        "summary": "List attachments on a linked transactions record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_LinkedTransactions_id_Attachments",
        "summary": "List attachments on a linked transactions record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/LinkedTransactions/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_LinkedTransactions_id_Attachments_rest",
        "summary": "Download an attachment from a linked transactions record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_LinkedTransactions_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a linked transactions record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_LinkedTransactions_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a linked transactions record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_LinkedTransactions_id_Attachments_rest",
        "summary": "Download an attachment from a linked transactions record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/LinkedTransactions/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_LinkedTransactions_id_History",
        "summary": "Read history and notes on a linked transactions record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_LinkedTransactions_id_History",
        "summary": "Add a history note to a linked transactions record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_LinkedTransactions_id_History",
        "summary": "Add a history note to a linked transactions record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_LinkedTransactions_id_History",
        "summary": "Read history and notes on a linked transactions record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/ManualJournals": {
      "get": {
        "operationId": "get_api_xro_2_0_ManualJournals",
        "summary": "List manual journals (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_ManualJournals",
        "summary": "Create or update manual journals (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_ManualJournals",
        "summary": "Create or update manual journals (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_ManualJournals",
        "summary": "List manual journals (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/ManualJournals/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_ManualJournals_id",
        "summary": "Read a single manual journals record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_ManualJournals_id",
        "summary": "Update or delete a single manual journals record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_ManualJournals_id",
        "summary": "Update or delete a single manual journals record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_ManualJournals_id",
        "summary": "Update or delete a single manual journals record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_ManualJournals_id",
        "summary": "Update or delete a single manual journals record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_ManualJournals_id",
        "summary": "Read a single manual journals record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/ManualJournals/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_ManualJournals_id_Attachments",
        "summary": "List attachments on a manual journals record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_ManualJournals_id_Attachments",
        "summary": "List attachments on a manual journals record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/ManualJournals/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_ManualJournals_id_Attachments_rest",
        "summary": "Download an attachment from a manual journals record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_ManualJournals_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a manual journals record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_ManualJournals_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a manual journals record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_ManualJournals_id_Attachments_rest",
        "summary": "Download an attachment from a manual journals record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/ManualJournals/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_ManualJournals_id_History",
        "summary": "Read history and notes on a manual journals record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_ManualJournals_id_History",
        "summary": "Add a history note to a manual journals record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_ManualJournals_id_History",
        "summary": "Add a history note to a manual journals record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_ManualJournals_id_History",
        "summary": "Read history and notes on a manual journals record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Organisation": {
      "get": {
        "operationId": "get_api_xro_2_0_Organisation",
        "summary": "List organisation (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Organisation",
        "summary": "Create or update organisation (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Organisation",
        "summary": "Create or update organisation (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Organisation",
        "summary": "List organisation (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/Organisation/Actions": {
      "get": {
        "operationId": "get_api_xro_2_0_Organisation_Actions",
        "summary": "Read which actions the organisation permits (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Organisation_Actions",
        "summary": "Read which actions the organisation permits (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/Organisation/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_Organisation_id",
        "summary": "Read a single organisation record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Organisation_id",
        "summary": "Update or delete a single organisation record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Organisation_id",
        "summary": "Update or delete a single organisation record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_Organisation_id",
        "summary": "Update or delete a single organisation record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_Organisation_id",
        "summary": "Update or delete a single organisation record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Organisation_id",
        "summary": "Read a single organisation record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/Organisation/{id}/CISSettings": {
      "get": {
        "operationId": "get_api_xro_2_0_Organisation_id_CISSettings",
        "summary": "Read organisation CIS settings (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Organisation_id_CISSettings",
        "summary": "Read organisation CIS settings (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/Overpayments": {
      "get": {
        "operationId": "get_api_xro_2_0_Overpayments",
        "summary": "List overpayments (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Overpayments",
        "summary": "Create or update overpayments (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Overpayments",
        "summary": "Create or update overpayments (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Overpayments",
        "summary": "List overpayments (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Overpayments/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_Overpayments_id",
        "summary": "Read a single overpayments record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Overpayments_id",
        "summary": "Update or delete a single overpayments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Overpayments_id",
        "summary": "Update or delete a single overpayments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_Overpayments_id",
        "summary": "Update or delete a single overpayments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_Overpayments_id",
        "summary": "Update or delete a single overpayments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Overpayments_id",
        "summary": "Read a single overpayments record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Overpayments/{id}/Allocations": {
      "get": {
        "operationId": "get_api_xro_2_0_Overpayments_id_Allocations",
        "summary": "List the allocations on a overpayment (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Overpayments_id_Allocations",
        "summary": "Allocate a overpayment to an invoice or bill (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Overpayments_id_Allocations",
        "summary": "Allocate a overpayment to an invoice or bill (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Overpayments_id_Allocations",
        "summary": "List the allocations on a overpayment (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Overpayments/{id}/Allocations/{allocationId}": {
      "delete": {
        "operationId": "delete_api_xro_2_0_Overpayments_id_Allocations_allocationId",
        "summary": "Remove one allocation from a overpayment (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "allocationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "/api.xro/2.0/Overpayments/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_Overpayments_id_Attachments",
        "summary": "List attachments on a overpayments record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Overpayments_id_Attachments",
        "summary": "List attachments on a overpayments record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/Overpayments/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_Overpayments_id_Attachments_rest",
        "summary": "Download an attachment from a overpayments record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Overpayments_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a overpayments record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Overpayments_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a overpayments record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Overpayments_id_Attachments_rest",
        "summary": "Download an attachment from a overpayments record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/Overpayments/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_Overpayments_id_History",
        "summary": "Read history and notes on a overpayments record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Overpayments_id_History",
        "summary": "Add a history note to a overpayments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Overpayments_id_History",
        "summary": "Add a history note to a overpayments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Overpayments_id_History",
        "summary": "Read history and notes on a overpayments record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/PaymentServices": {
      "get": {
        "operationId": "get_api_xro_2_0_PaymentServices",
        "summary": "List payment services (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_PaymentServices",
        "summary": "Create or update payment services (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_PaymentServices",
        "summary": "Create or update payment services (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_PaymentServices",
        "summary": "List payment services (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/PaymentServices/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_PaymentServices_id",
        "summary": "Read a single payment services record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_PaymentServices_id",
        "summary": "Update or delete a single payment services record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_PaymentServices_id",
        "summary": "Update or delete a single payment services record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_PaymentServices_id",
        "summary": "Update or delete a single payment services record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_PaymentServices_id",
        "summary": "Update or delete a single payment services record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_PaymentServices_id",
        "summary": "Read a single payment services record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/PaymentServices/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_PaymentServices_id_Attachments",
        "summary": "List attachments on a payment services record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_PaymentServices_id_Attachments",
        "summary": "List attachments on a payment services record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/PaymentServices/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_PaymentServices_id_Attachments_rest",
        "summary": "Download an attachment from a payment services record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_PaymentServices_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a payment services record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_PaymentServices_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a payment services record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_PaymentServices_id_Attachments_rest",
        "summary": "Download an attachment from a payment services record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/PaymentServices/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_PaymentServices_id_History",
        "summary": "Read history and notes on a payment services record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_PaymentServices_id_History",
        "summary": "Add a history note to a payment services record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_PaymentServices_id_History",
        "summary": "Add a history note to a payment services record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_PaymentServices_id_History",
        "summary": "Read history and notes on a payment services record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Payments": {
      "get": {
        "operationId": "get_api_xro_2_0_Payments",
        "summary": "List payments (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Payments",
        "summary": "Create or update payments (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Payments",
        "summary": "Create or update payments (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Payments",
        "summary": "List payments (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Payments/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_Payments_id",
        "summary": "Read a single payments record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Payments_id",
        "summary": "Update or delete a single payments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Payments_id",
        "summary": "Update or delete a single payments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_Payments_id",
        "summary": "Update or delete a single payments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_Payments_id",
        "summary": "Update or delete a single payments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Payments_id",
        "summary": "Read a single payments record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Payments/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_Payments_id_Attachments",
        "summary": "List attachments on a payments record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Payments_id_Attachments",
        "summary": "List attachments on a payments record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/Payments/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_Payments_id_Attachments_rest",
        "summary": "Download an attachment from a payments record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Payments_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a payments record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Payments_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a payments record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Payments_id_Attachments_rest",
        "summary": "Download an attachment from a payments record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/Payments/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_Payments_id_History",
        "summary": "Read history and notes on a payments record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Payments_id_History",
        "summary": "Add a history note to a payments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Payments_id_History",
        "summary": "Add a history note to a payments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Payments_id_History",
        "summary": "Read history and notes on a payments record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Prepayments": {
      "get": {
        "operationId": "get_api_xro_2_0_Prepayments",
        "summary": "List prepayments (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Prepayments",
        "summary": "Create or update prepayments (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Prepayments",
        "summary": "Create or update prepayments (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Prepayments",
        "summary": "List prepayments (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Prepayments/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_Prepayments_id",
        "summary": "Read a single prepayments record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Prepayments_id",
        "summary": "Update or delete a single prepayments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Prepayments_id",
        "summary": "Update or delete a single prepayments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_Prepayments_id",
        "summary": "Update or delete a single prepayments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_Prepayments_id",
        "summary": "Update or delete a single prepayments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Prepayments_id",
        "summary": "Read a single prepayments record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Prepayments/{id}/Allocations": {
      "get": {
        "operationId": "get_api_xro_2_0_Prepayments_id_Allocations",
        "summary": "List the allocations on a prepayment (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Prepayments_id_Allocations",
        "summary": "Allocate a prepayment to an invoice or bill (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Prepayments_id_Allocations",
        "summary": "Allocate a prepayment to an invoice or bill (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Prepayments_id_Allocations",
        "summary": "List the allocations on a prepayment (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Prepayments/{id}/Allocations/{allocationId}": {
      "delete": {
        "operationId": "delete_api_xro_2_0_Prepayments_id_Allocations_allocationId",
        "summary": "Remove one allocation from a prepayment (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "allocationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "/api.xro/2.0/Prepayments/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_Prepayments_id_Attachments",
        "summary": "List attachments on a prepayments record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Prepayments_id_Attachments",
        "summary": "List attachments on a prepayments record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/Prepayments/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_Prepayments_id_Attachments_rest",
        "summary": "Download an attachment from a prepayments record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Prepayments_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a prepayments record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Prepayments_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a prepayments record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Prepayments_id_Attachments_rest",
        "summary": "Download an attachment from a prepayments record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/Prepayments/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_Prepayments_id_History",
        "summary": "Read history and notes on a prepayments record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Prepayments_id_History",
        "summary": "Add a history note to a prepayments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Prepayments_id_History",
        "summary": "Add a history note to a prepayments record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Prepayments_id_History",
        "summary": "Read history and notes on a prepayments record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/PurchaseOrders": {
      "get": {
        "operationId": "get_api_xro_2_0_PurchaseOrders",
        "summary": "List purchase orders (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_PurchaseOrders",
        "summary": "Create or update purchase orders (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_PurchaseOrders",
        "summary": "Create or update purchase orders (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_PurchaseOrders",
        "summary": "List purchase orders (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/PurchaseOrders/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_PurchaseOrders_id",
        "summary": "Read a single purchase orders record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_PurchaseOrders_id",
        "summary": "Update or delete a single purchase orders record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_PurchaseOrders_id",
        "summary": "Update or delete a single purchase orders record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_PurchaseOrders_id",
        "summary": "Update or delete a single purchase orders record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_PurchaseOrders_id",
        "summary": "Update or delete a single purchase orders record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_PurchaseOrders_id",
        "summary": "Read a single purchase orders record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/PurchaseOrders/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_PurchaseOrders_id_Attachments",
        "summary": "List attachments on a purchase orders record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_PurchaseOrders_id_Attachments",
        "summary": "List attachments on a purchase orders record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/PurchaseOrders/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_PurchaseOrders_id_Attachments_rest",
        "summary": "Download an attachment from a purchase orders record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_PurchaseOrders_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a purchase orders record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_PurchaseOrders_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a purchase orders record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_PurchaseOrders_id_Attachments_rest",
        "summary": "Download an attachment from a purchase orders record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/PurchaseOrders/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_PurchaseOrders_id_History",
        "summary": "Read history and notes on a purchase orders record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_PurchaseOrders_id_History",
        "summary": "Add a history note to a purchase orders record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_PurchaseOrders_id_History",
        "summary": "Add a history note to a purchase orders record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_PurchaseOrders_id_History",
        "summary": "Read history and notes on a purchase orders record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Quotes": {
      "get": {
        "operationId": "get_api_xro_2_0_Quotes",
        "summary": "List quotes (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Quotes",
        "summary": "Create or update quotes (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Quotes",
        "summary": "Create or update quotes (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Quotes",
        "summary": "List quotes (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Quotes/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_Quotes_id",
        "summary": "Read a single quotes record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Quotes_id",
        "summary": "Update or delete a single quotes record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Quotes_id",
        "summary": "Update or delete a single quotes record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_Quotes_id",
        "summary": "Update or delete a single quotes record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_Quotes_id",
        "summary": "Update or delete a single quotes record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Quotes_id",
        "summary": "Read a single quotes record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Quotes/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_Quotes_id_Attachments",
        "summary": "List attachments on a quotes record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Quotes_id_Attachments",
        "summary": "List attachments on a quotes record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/Quotes/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_Quotes_id_Attachments_rest",
        "summary": "Download an attachment from a quotes record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Quotes_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a quotes record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Quotes_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a quotes record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Quotes_id_Attachments_rest",
        "summary": "Download an attachment from a quotes record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/Quotes/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_Quotes_id_History",
        "summary": "Read history and notes on a quotes record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Quotes_id_History",
        "summary": "Add a history note to a quotes record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Quotes_id_History",
        "summary": "Add a history note to a quotes record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Quotes_id_History",
        "summary": "Read history and notes on a quotes record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Receipts": {
      "get": {
        "operationId": "get_api_xro_2_0_Receipts",
        "summary": "List receipts (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Receipts",
        "summary": "Create or update receipts (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Receipts",
        "summary": "Create or update receipts (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Receipts",
        "summary": "List receipts (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Receipts/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_Receipts_id",
        "summary": "Read a single receipts record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Receipts_id",
        "summary": "Update or delete a single receipts record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Receipts_id",
        "summary": "Update or delete a single receipts record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_Receipts_id",
        "summary": "Update or delete a single receipts record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_Receipts_id",
        "summary": "Update or delete a single receipts record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Receipts_id",
        "summary": "Read a single receipts record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/Receipts/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_Receipts_id_Attachments",
        "summary": "List attachments on a receipts record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Receipts_id_Attachments",
        "summary": "List attachments on a receipts record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/Receipts/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_Receipts_id_Attachments_rest",
        "summary": "Download an attachment from a receipts record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Receipts_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a receipts record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Receipts_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a receipts record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Receipts_id_Attachments_rest",
        "summary": "Download an attachment from a receipts record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/Receipts/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_Receipts_id_History",
        "summary": "Read history and notes on a receipts record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Receipts_id_History",
        "summary": "Add a history note to a receipts record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Receipts_id_History",
        "summary": "Add a history note to a receipts record (requires accounting.transactions, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Receipts_id_History",
        "summary": "Read history and notes on a receipts record (requires accounting.transactions.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.transactions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.transactions.read"
      }
    },
    "/api.xro/2.0/RepeatingInvoices": {
      "get": {
        "operationId": "get_api_xro_2_0_RepeatingInvoices",
        "summary": "List repeating invoices (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_RepeatingInvoices",
        "summary": "Create or update repeating invoices (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_RepeatingInvoices",
        "summary": "Create or update repeating invoices (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_RepeatingInvoices",
        "summary": "List repeating invoices (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/RepeatingInvoices/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_RepeatingInvoices_id",
        "summary": "Read a single repeating invoices record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_RepeatingInvoices_id",
        "summary": "Update or delete a single repeating invoices record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_RepeatingInvoices_id",
        "summary": "Update or delete a single repeating invoices record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_RepeatingInvoices_id",
        "summary": "Update or delete a single repeating invoices record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_RepeatingInvoices_id",
        "summary": "Update or delete a single repeating invoices record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_RepeatingInvoices_id",
        "summary": "Read a single repeating invoices record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/RepeatingInvoices/{id}/Attachments": {
      "get": {
        "operationId": "get_api_xro_2_0_RepeatingInvoices_id_Attachments",
        "summary": "List attachments on a repeating invoice record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_RepeatingInvoices_id_Attachments",
        "summary": "List attachments on a repeating invoice record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/RepeatingInvoices/{id}/Attachments/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_RepeatingInvoices_id_Attachments_rest",
        "summary": "Download an attachment from a repeating invoice record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_RepeatingInvoices_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a repeating invoice record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_RepeatingInvoices_id_Attachments_rest",
        "summary": "Upload or replace an attachment on a repeating invoice record (requires accounting.attachments, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_RepeatingInvoices_id_Attachments_rest",
        "summary": "Download an attachment from a repeating invoice record (requires accounting.attachments.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.attachments.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.attachments.read"
      }
    },
    "/api.xro/2.0/RepeatingInvoices/{id}/History": {
      "get": {
        "operationId": "get_api_xro_2_0_RepeatingInvoices_id_History",
        "summary": "Read history and notes on a repeating invoice record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_RepeatingInvoices_id_History",
        "summary": "Add a history note to a repeating invoice record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_RepeatingInvoices_id_History",
        "summary": "Add a history note to a repeating invoice record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_RepeatingInvoices_id_History",
        "summary": "Read history and notes on a repeating invoice record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/Reports": {
      "get": {
        "operationId": "get_api_xro_2_0_Reports",
        "summary": "List available accounting reports (requires accounting.reports.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.reports.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.reports.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Reports",
        "summary": "List available accounting reports (requires accounting.reports.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.reports.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.reports.read"
      }
    },
    "/api.xro/2.0/Reports/TenNinetyNine": {
      "get": {
        "operationId": "get_api_xro_2_0_Reports_TenNinetyNine",
        "summary": "Run the 1099 report (requires accounting.reports.tenninetynine.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.reports.tenninetynine.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.reports.tenninetynine.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Reports_TenNinetyNine",
        "summary": "Run the 1099 report (requires accounting.reports.tenninetynine.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.reports.tenninetynine.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.reports.tenninetynine.read"
      }
    },
    "/api.xro/2.0/Reports/{rest}": {
      "get": {
        "operationId": "get_api_xro_2_0_Reports_rest",
        "summary": "Run an accounting report (Balance Sheet, Profit & Loss, Aged reports) (requires accounting.reports.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.reports.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.reports.read"
      },
      "head": {
        "operationId": "head_api_xro_2_0_Reports_rest",
        "summary": "Run an accounting report (Balance Sheet, Profit & Loss, Aged reports) (requires accounting.reports.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.reports.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.reports.read"
      }
    },
    "/api.xro/2.0/Setup": {
      "post": {
        "operationId": "post_api_xro_2_0_Setup",
        "summary": "Post conversion balances and historical data during setup (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Setup",
        "summary": "Post conversion balances and historical data during setup (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "/api.xro/2.0/TaxRates": {
      "get": {
        "operationId": "get_api_xro_2_0_TaxRates",
        "summary": "List tax rates (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_TaxRates",
        "summary": "Create or update tax rates (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_TaxRates",
        "summary": "Create or update tax rates (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_TaxRates",
        "summary": "List tax rates (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/TaxRates/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_TaxRates_id",
        "summary": "Read a single tax rates record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_TaxRates_id",
        "summary": "Update or delete a single tax rates record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_TaxRates_id",
        "summary": "Update or delete a single tax rates record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_TaxRates_id",
        "summary": "Update or delete a single tax rates record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_TaxRates_id",
        "summary": "Update or delete a single tax rates record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_TaxRates_id",
        "summary": "Read a single tax rates record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/TrackingCategories": {
      "get": {
        "operationId": "get_api_xro_2_0_TrackingCategories",
        "summary": "List tracking categories (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_TrackingCategories",
        "summary": "Create or update tracking categories (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_TrackingCategories",
        "summary": "Create or update tracking categories (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_TrackingCategories",
        "summary": "List tracking categories (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/TrackingCategories/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_TrackingCategories_id",
        "summary": "Read a single tracking categories record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_TrackingCategories_id",
        "summary": "Update or delete a single tracking categories record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_TrackingCategories_id",
        "summary": "Update or delete a single tracking categories record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_TrackingCategories_id",
        "summary": "Update or delete a single tracking categories record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_TrackingCategories_id",
        "summary": "Update or delete a single tracking categories record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_TrackingCategories_id",
        "summary": "Read a single tracking categories record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/TrackingCategories/{id}/Options": {
      "get": {
        "operationId": "get_api_xro_2_0_TrackingCategories_id_Options",
        "summary": "List the options on a tracking category (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_TrackingCategories_id_Options",
        "summary": "Create or update options on a tracking category (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_TrackingCategories_id_Options",
        "summary": "Create or update options on a tracking category (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_TrackingCategories_id_Options",
        "summary": "List the options on a tracking category (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/TrackingCategories/{id}/Options/{optionId}": {
      "post": {
        "operationId": "post_api_xro_2_0_TrackingCategories_id_Options_optionId",
        "summary": "Update or delete a single tracking category option (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "optionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_TrackingCategories_id_Options_optionId",
        "summary": "Update or delete a single tracking category option (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "optionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_TrackingCategories_id_Options_optionId",
        "summary": "Update or delete a single tracking category option (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "optionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "/api.xro/2.0/Users": {
      "get": {
        "operationId": "get_api_xro_2_0_Users",
        "summary": "List users (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Users",
        "summary": "Create or update users (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Users",
        "summary": "Create or update users (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Users",
        "summary": "List users (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/api.xro/2.0/Users/{id}": {
      "get": {
        "operationId": "get_api_xro_2_0_Users_id",
        "summary": "Read a single users record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      },
      "post": {
        "operationId": "post_api_xro_2_0_Users_id",
        "summary": "Update or delete a single users record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_api_xro_2_0_Users_id",
        "summary": "Update or delete a single users record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_xro_2_0_Users_id",
        "summary": "Update or delete a single users record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_xro_2_0_Users_id",
        "summary": "Update or delete a single users record (requires accounting.settings, write)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_api_xro_2_0_Users_id",
        "summary": "Read a single users record (requires accounting.settings.read, read only)",
        "tags": [
          "Accounting"
        ],
        "security": [
          {
            "apiKey": [
              "accounting.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "accounting.settings.read"
      }
    },
    "/assets.xro/1.0/AssetTypes": {
      "get": {
        "operationId": "get_assets_xro_1_0_AssetTypes",
        "summary": "List asset types (requires assets.read, read only)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets.read"
      },
      "post": {
        "operationId": "post_assets_xro_1_0_AssetTypes",
        "summary": "Create or update an asset type (requires assets, write)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_assets_xro_1_0_AssetTypes",
        "summary": "Create or update an asset type (requires assets, write)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_assets_xro_1_0_AssetTypes",
        "summary": "List asset types (requires assets.read, read only)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets.read"
      }
    },
    "/assets.xro/1.0/AssetTypes/{id}": {
      "get": {
        "operationId": "get_assets_xro_1_0_AssetTypes_id",
        "summary": "Read a single asset type (requires assets.read, read only)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets.read"
      },
      "head": {
        "operationId": "head_assets_xro_1_0_AssetTypes_id",
        "summary": "Read a single asset type (requires assets.read, read only)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets.read"
      }
    },
    "/assets.xro/1.0/Assets": {
      "get": {
        "operationId": "get_assets_xro_1_0_Assets",
        "summary": "List fixed assets (requires assets.read, read only)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets.read"
      },
      "post": {
        "operationId": "post_assets_xro_1_0_Assets",
        "summary": "Create fixed assets (requires assets, write)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_assets_xro_1_0_Assets",
        "summary": "Create fixed assets (requires assets, write)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_assets_xro_1_0_Assets",
        "summary": "List fixed assets (requires assets.read, read only)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets.read"
      }
    },
    "/assets.xro/1.0/Assets/{id}": {
      "get": {
        "operationId": "get_assets_xro_1_0_Assets_id",
        "summary": "Read a single fixed assets record (requires assets.read, read only)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets.read"
      },
      "post": {
        "operationId": "post_assets_xro_1_0_Assets_id",
        "summary": "Update or delete a single fixed assets record (requires assets, write)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_assets_xro_1_0_Assets_id",
        "summary": "Update or delete a single fixed assets record (requires assets, write)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_assets_xro_1_0_Assets_id",
        "summary": "Update or delete a single fixed assets record (requires assets, write)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_assets_xro_1_0_Assets_id",
        "summary": "Update or delete a single fixed assets record (requires assets, write)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_assets_xro_1_0_Assets_id",
        "summary": "Read a single fixed assets record (requires assets.read, read only)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets.read"
      }
    },
    "/assets.xro/1.0/Settings": {
      "get": {
        "operationId": "get_assets_xro_1_0_Settings",
        "summary": "Read fixed asset settings (requires assets.read, read only)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets.read"
      },
      "head": {
        "operationId": "head_assets_xro_1_0_Settings",
        "summary": "Read fixed asset settings (requires assets.read, read only)",
        "tags": [
          "Assets"
        ],
        "security": [
          {
            "apiKey": [
              "assets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "assets.read"
      }
    },
    "/bankfeeds.xro/1.0/FeedConnections": {
      "get": {
        "operationId": "get_bankfeeds_xro_1_0_FeedConnections",
        "summary": "Manage bank feed connections (requires bankfeeds, write)",
        "tags": [
          "Bank Feeds"
        ],
        "security": [
          {
            "apiKey": [
              "bankfeeds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "bankfeeds"
      },
      "post": {
        "operationId": "post_bankfeeds_xro_1_0_FeedConnections",
        "summary": "Manage bank feed connections (requires bankfeeds, write)",
        "tags": [
          "Bank Feeds"
        ],
        "security": [
          {
            "apiKey": [
              "bankfeeds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "bankfeeds",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_bankfeeds_xro_1_0_FeedConnections",
        "summary": "Manage bank feed connections (requires bankfeeds, write)",
        "tags": [
          "Bank Feeds"
        ],
        "security": [
          {
            "apiKey": [
              "bankfeeds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "bankfeeds",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_bankfeeds_xro_1_0_FeedConnections",
        "summary": "Manage bank feed connections (requires bankfeeds, write)",
        "tags": [
          "Bank Feeds"
        ],
        "security": [
          {
            "apiKey": [
              "bankfeeds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "bankfeeds"
      }
    },
    "/bankfeeds.xro/1.0/FeedConnections/{id}": {
      "get": {
        "operationId": "get_bankfeeds_xro_1_0_FeedConnections_id",
        "summary": "Read or delete a bank feed connection (requires bankfeeds, write)",
        "tags": [
          "Bank Feeds"
        ],
        "security": [
          {
            "apiKey": [
              "bankfeeds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "bankfeeds"
      },
      "delete": {
        "operationId": "delete_bankfeeds_xro_1_0_FeedConnections_id",
        "summary": "Read or delete a bank feed connection (requires bankfeeds, write)",
        "tags": [
          "Bank Feeds"
        ],
        "security": [
          {
            "apiKey": [
              "bankfeeds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "bankfeeds",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_bankfeeds_xro_1_0_FeedConnections_id",
        "summary": "Read or delete a bank feed connection (requires bankfeeds, write)",
        "tags": [
          "Bank Feeds"
        ],
        "security": [
          {
            "apiKey": [
              "bankfeeds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "bankfeeds"
      }
    },
    "/bankfeeds.xro/1.0/Statements": {
      "get": {
        "operationId": "get_bankfeeds_xro_1_0_Statements",
        "summary": "Deliver or list bank feed statements (requires bankfeeds, write)",
        "tags": [
          "Bank Feeds"
        ],
        "security": [
          {
            "apiKey": [
              "bankfeeds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "bankfeeds"
      },
      "post": {
        "operationId": "post_bankfeeds_xro_1_0_Statements",
        "summary": "Deliver or list bank feed statements (requires bankfeeds, write)",
        "tags": [
          "Bank Feeds"
        ],
        "security": [
          {
            "apiKey": [
              "bankfeeds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "bankfeeds",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_bankfeeds_xro_1_0_Statements",
        "summary": "Deliver or list bank feed statements (requires bankfeeds, write)",
        "tags": [
          "Bank Feeds"
        ],
        "security": [
          {
            "apiKey": [
              "bankfeeds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "bankfeeds"
      }
    },
    "/bankfeeds.xro/1.0/Statements/{id}": {
      "get": {
        "operationId": "get_bankfeeds_xro_1_0_Statements_id",
        "summary": "Read a single bank feed statement (requires bankfeeds, write)",
        "tags": [
          "Bank Feeds"
        ],
        "security": [
          {
            "apiKey": [
              "bankfeeds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "bankfeeds"
      },
      "head": {
        "operationId": "head_bankfeeds_xro_1_0_Statements_id",
        "summary": "Read a single bank feed statement (requires bankfeeds, write)",
        "tags": [
          "Bank Feeds"
        ],
        "security": [
          {
            "apiKey": [
              "bankfeeds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "bankfeeds"
      }
    },
    "/files.xro/1.0/Associations": {
      "get": {
        "operationId": "get_files_xro_1_0_Associations",
        "summary": "List file associations (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      },
      "post": {
        "operationId": "post_files_xro_1_0_Associations",
        "summary": "Create file associations (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_files_xro_1_0_Associations",
        "summary": "Create file associations (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_files_xro_1_0_Associations",
        "summary": "List file associations (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      }
    },
    "/files.xro/1.0/Associations/Count": {
      "get": {
        "operationId": "get_files_xro_1_0_Associations_Count",
        "summary": "Count associations for a set of objects (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      },
      "head": {
        "operationId": "head_files_xro_1_0_Associations_Count",
        "summary": "Count associations for a set of objects (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      }
    },
    "/files.xro/1.0/Associations/{id}": {
      "get": {
        "operationId": "get_files_xro_1_0_Associations_id",
        "summary": "Read a single file associations record (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      },
      "post": {
        "operationId": "post_files_xro_1_0_Associations_id",
        "summary": "Update or delete a single file associations record (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_files_xro_1_0_Associations_id",
        "summary": "Update or delete a single file associations record (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_files_xro_1_0_Associations_id",
        "summary": "Update or delete a single file associations record (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_files_xro_1_0_Associations_id",
        "summary": "Update or delete a single file associations record (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_files_xro_1_0_Associations_id",
        "summary": "Read a single file associations record (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      }
    },
    "/files.xro/1.0/Files": {
      "get": {
        "operationId": "get_files_xro_1_0_Files",
        "summary": "List files (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      },
      "post": {
        "operationId": "post_files_xro_1_0_Files",
        "summary": "Create files (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_files_xro_1_0_Files",
        "summary": "Create files (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_files_xro_1_0_Files",
        "summary": "List files (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      }
    },
    "/files.xro/1.0/Files/{id}": {
      "get": {
        "operationId": "get_files_xro_1_0_Files_id",
        "summary": "Read a single files record (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      },
      "post": {
        "operationId": "post_files_xro_1_0_Files_id",
        "summary": "Update or delete a single files record (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_files_xro_1_0_Files_id",
        "summary": "Update or delete a single files record (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_files_xro_1_0_Files_id",
        "summary": "Update or delete a single files record (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_files_xro_1_0_Files_id",
        "summary": "Update or delete a single files record (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_files_xro_1_0_Files_id",
        "summary": "Read a single files record (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      }
    },
    "/files.xro/1.0/Files/{id}/Associations": {
      "get": {
        "operationId": "get_files_xro_1_0_Files_id_Associations",
        "summary": "List what a file is associated with (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      },
      "post": {
        "operationId": "post_files_xro_1_0_Files_id_Associations",
        "summary": "Associate a file with an accounting record (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_files_xro_1_0_Files_id_Associations",
        "summary": "Associate a file with an accounting record (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_files_xro_1_0_Files_id_Associations",
        "summary": "List what a file is associated with (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      }
    },
    "/files.xro/1.0/Files/{id}/Associations/{objectId}": {
      "delete": {
        "operationId": "delete_files_xro_1_0_Files_id_Associations_objectId",
        "summary": "Remove one association from a file (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "objectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "/files.xro/1.0/Files/{id}/Content": {
      "get": {
        "operationId": "get_files_xro_1_0_Files_id_Content",
        "summary": "Download file content (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      },
      "head": {
        "operationId": "head_files_xro_1_0_Files_id_Content",
        "summary": "Download file content (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      }
    },
    "/files.xro/1.0/Folders": {
      "get": {
        "operationId": "get_files_xro_1_0_Folders",
        "summary": "List folders (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      },
      "post": {
        "operationId": "post_files_xro_1_0_Folders",
        "summary": "Create folders (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_files_xro_1_0_Folders",
        "summary": "Create folders (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_files_xro_1_0_Folders",
        "summary": "List folders (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      }
    },
    "/files.xro/1.0/Folders/{id}": {
      "get": {
        "operationId": "get_files_xro_1_0_Folders_id",
        "summary": "Read a single folders record (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      },
      "post": {
        "operationId": "post_files_xro_1_0_Folders_id",
        "summary": "Update or delete a single folders record (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_files_xro_1_0_Folders_id",
        "summary": "Update or delete a single folders record (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_files_xro_1_0_Folders_id",
        "summary": "Update or delete a single folders record (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_files_xro_1_0_Folders_id",
        "summary": "Update or delete a single folders record (requires files, write)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_files_xro_1_0_Folders_id",
        "summary": "Read a single folders record (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      }
    },
    "/files.xro/1.0/Inbox": {
      "get": {
        "operationId": "get_files_xro_1_0_Inbox",
        "summary": "Read the file inbox folder (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      },
      "head": {
        "operationId": "head_files_xro_1_0_Inbox",
        "summary": "Read the file inbox folder (requires files.read, read only)",
        "tags": [
          "Files"
        ],
        "security": [
          {
            "apiKey": [
              "files.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "files.read"
      }
    },
    "/finance.xro/1.0/AccountingActivity/{rest}": {
      "get": {
        "operationId": "get_finance_xro_1_0_AccountingActivity_rest",
        "summary": "Read accounting activity metrics (requires finance.accountingactivity.read, read only)",
        "tags": [
          "Finance"
        ],
        "security": [
          {
            "apiKey": [
              "finance.accountingactivity.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "finance.accountingactivity.read"
      },
      "head": {
        "operationId": "head_finance_xro_1_0_AccountingActivity_rest",
        "summary": "Read accounting activity metrics (requires finance.accountingactivity.read, read only)",
        "tags": [
          "Finance"
        ],
        "security": [
          {
            "apiKey": [
              "finance.accountingactivity.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "finance.accountingactivity.read"
      }
    },
    "/finance.xro/1.0/BankStatementsPlus/{rest}": {
      "get": {
        "operationId": "get_finance_xro_1_0_BankStatementsPlus_rest",
        "summary": "Read enriched bank statement data (requires finance.bankstatementsplus.read, read only)",
        "tags": [
          "Finance"
        ],
        "security": [
          {
            "apiKey": [
              "finance.bankstatementsplus.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "finance.bankstatementsplus.read"
      },
      "head": {
        "operationId": "head_finance_xro_1_0_BankStatementsPlus_rest",
        "summary": "Read enriched bank statement data (requires finance.bankstatementsplus.read, read only)",
        "tags": [
          "Finance"
        ],
        "security": [
          {
            "apiKey": [
              "finance.bankstatementsplus.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "finance.bankstatementsplus.read"
      }
    },
    "/finance.xro/1.0/CashValidation": {
      "get": {
        "operationId": "get_finance_xro_1_0_CashValidation",
        "summary": "Read cash validation data (requires finance.cashvalidation.read, read only)",
        "tags": [
          "Finance"
        ],
        "security": [
          {
            "apiKey": [
              "finance.cashvalidation.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "finance.cashvalidation.read"
      },
      "head": {
        "operationId": "head_finance_xro_1_0_CashValidation",
        "summary": "Read cash validation data (requires finance.cashvalidation.read, read only)",
        "tags": [
          "Finance"
        ],
        "security": [
          {
            "apiKey": [
              "finance.cashvalidation.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "finance.cashvalidation.read"
      }
    },
    "/finance.xro/1.0/Statements/{rest}": {
      "get": {
        "operationId": "get_finance_xro_1_0_Statements_rest",
        "summary": "Read bank statements accounting data (requires finance.statements.read, read only)",
        "tags": [
          "Finance"
        ],
        "security": [
          {
            "apiKey": [
              "finance.statements.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "finance.statements.read"
      },
      "head": {
        "operationId": "head_finance_xro_1_0_Statements_rest",
        "summary": "Read bank statements accounting data (requires finance.statements.read, read only)",
        "tags": [
          "Finance"
        ],
        "security": [
          {
            "apiKey": [
              "finance.statements.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "rest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Remaining path segments, forwarded to Xero unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "finance.statements.read"
      }
    },
    "/payroll.xro/1.0/Employees": {
      "get": {
        "operationId": "get_payroll_xro_1_0_Employees",
        "summary": "List employees (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_Employees",
        "summary": "Create or update employees (requires payroll.employees, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_Employees",
        "summary": "Create or update employees (requires payroll.employees, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_Employees",
        "summary": "List employees (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/1.0/Employees/{id}": {
      "get": {
        "operationId": "get_payroll_xro_1_0_Employees_id",
        "summary": "Read a single employees record (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_Employees_id",
        "summary": "Update or delete a single employees record (requires payroll.employees, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_Employees_id",
        "summary": "Update or delete a single employees record (requires payroll.employees, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_1_0_Employees_id",
        "summary": "Update or delete a single employees record (requires payroll.employees, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_1_0_Employees_id",
        "summary": "Update or delete a single employees record (requires payroll.employees, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_Employees_id",
        "summary": "Read a single employees record (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/1.0/LeaveApplications": {
      "get": {
        "operationId": "get_payroll_xro_1_0_LeaveApplications",
        "summary": "List leave applications (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_LeaveApplications",
        "summary": "Create or update leave applications (requires payroll.employees, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_LeaveApplications",
        "summary": "Create or update leave applications (requires payroll.employees, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_LeaveApplications",
        "summary": "List leave applications (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/1.0/LeaveApplications/{id}": {
      "get": {
        "operationId": "get_payroll_xro_1_0_LeaveApplications_id",
        "summary": "Read a single leave applications record (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_LeaveApplications_id",
        "summary": "Update or delete a single leave applications record (requires payroll.employees, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_LeaveApplications_id",
        "summary": "Update or delete a single leave applications record (requires payroll.employees, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_1_0_LeaveApplications_id",
        "summary": "Update or delete a single leave applications record (requires payroll.employees, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_1_0_LeaveApplications_id",
        "summary": "Update or delete a single leave applications record (requires payroll.employees, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_LeaveApplications_id",
        "summary": "Read a single leave applications record (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/1.0/PayItems": {
      "get": {
        "operationId": "get_payroll_xro_1_0_PayItems",
        "summary": "List pay items (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_PayItems",
        "summary": "Create or update pay items (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_PayItems",
        "summary": "Create or update pay items (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_PayItems",
        "summary": "List pay items (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      }
    },
    "/payroll.xro/1.0/PayItems/{id}": {
      "get": {
        "operationId": "get_payroll_xro_1_0_PayItems_id",
        "summary": "Read a single pay items record (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_PayItems_id",
        "summary": "Update or delete a single pay items record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_PayItems_id",
        "summary": "Update or delete a single pay items record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_1_0_PayItems_id",
        "summary": "Update or delete a single pay items record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_1_0_PayItems_id",
        "summary": "Update or delete a single pay items record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_PayItems_id",
        "summary": "Read a single pay items record (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      }
    },
    "/payroll.xro/1.0/PayRuns": {
      "get": {
        "operationId": "get_payroll_xro_1_0_PayRuns",
        "summary": "List pay runs (requires payroll.payruns.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_PayRuns",
        "summary": "Create or update pay runs (requires payroll.payruns, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_PayRuns",
        "summary": "Create or update pay runs (requires payroll.payruns, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_PayRuns",
        "summary": "List pay runs (requires payroll.payruns.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns.read"
      }
    },
    "/payroll.xro/1.0/PayRuns/{id}": {
      "get": {
        "operationId": "get_payroll_xro_1_0_PayRuns_id",
        "summary": "Read a single pay runs record (requires payroll.payruns.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_PayRuns_id",
        "summary": "Update or delete a single pay runs record (requires payroll.payruns, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_PayRuns_id",
        "summary": "Update or delete a single pay runs record (requires payroll.payruns, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_1_0_PayRuns_id",
        "summary": "Update or delete a single pay runs record (requires payroll.payruns, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_1_0_PayRuns_id",
        "summary": "Update or delete a single pay runs record (requires payroll.payruns, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_PayRuns_id",
        "summary": "Read a single pay runs record (requires payroll.payruns.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns.read"
      }
    },
    "/payroll.xro/1.0/PayrollCalendars": {
      "get": {
        "operationId": "get_payroll_xro_1_0_PayrollCalendars",
        "summary": "List payroll calendars (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_PayrollCalendars",
        "summary": "Create or update payroll calendars (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_PayrollCalendars",
        "summary": "Create or update payroll calendars (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_PayrollCalendars",
        "summary": "List payroll calendars (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      }
    },
    "/payroll.xro/1.0/PayrollCalendars/{id}": {
      "get": {
        "operationId": "get_payroll_xro_1_0_PayrollCalendars_id",
        "summary": "Read a single payroll calendars record (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_PayrollCalendars_id",
        "summary": "Update or delete a single payroll calendars record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_PayrollCalendars_id",
        "summary": "Update or delete a single payroll calendars record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_1_0_PayrollCalendars_id",
        "summary": "Update or delete a single payroll calendars record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_1_0_PayrollCalendars_id",
        "summary": "Update or delete a single payroll calendars record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_PayrollCalendars_id",
        "summary": "Read a single payroll calendars record (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      }
    },
    "/payroll.xro/1.0/Payslip": {
      "get": {
        "operationId": "get_payroll_xro_1_0_Payslip",
        "summary": "List pay slips (requires payroll.payslip.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_Payslip",
        "summary": "Create or update pay slips (requires payroll.payslip, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_Payslip",
        "summary": "Create or update pay slips (requires payroll.payslip, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_Payslip",
        "summary": "List pay slips (requires payroll.payslip.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip.read"
      }
    },
    "/payroll.xro/1.0/Payslip/{id}": {
      "get": {
        "operationId": "get_payroll_xro_1_0_Payslip_id",
        "summary": "Read a single pay slips record (requires payroll.payslip.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_Payslip_id",
        "summary": "Update or delete a single pay slips record (requires payroll.payslip, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_Payslip_id",
        "summary": "Update or delete a single pay slips record (requires payroll.payslip, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_1_0_Payslip_id",
        "summary": "Update or delete a single pay slips record (requires payroll.payslip, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_1_0_Payslip_id",
        "summary": "Update or delete a single pay slips record (requires payroll.payslip, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_Payslip_id",
        "summary": "Read a single pay slips record (requires payroll.payslip.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip.read"
      }
    },
    "/payroll.xro/1.0/Settings": {
      "get": {
        "operationId": "get_payroll_xro_1_0_Settings",
        "summary": "List payroll settings (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_Settings",
        "summary": "Create or update payroll settings (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_Settings",
        "summary": "Create or update payroll settings (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_Settings",
        "summary": "List payroll settings (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      }
    },
    "/payroll.xro/1.0/Settings/{id}": {
      "get": {
        "operationId": "get_payroll_xro_1_0_Settings_id",
        "summary": "Read a single payroll settings record (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_Settings_id",
        "summary": "Update or delete a single payroll settings record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_Settings_id",
        "summary": "Update or delete a single payroll settings record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_1_0_Settings_id",
        "summary": "Update or delete a single payroll settings record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_1_0_Settings_id",
        "summary": "Update or delete a single payroll settings record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_Settings_id",
        "summary": "Read a single payroll settings record (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      }
    },
    "/payroll.xro/1.0/SuperfundProducts": {
      "get": {
        "operationId": "get_payroll_xro_1_0_SuperfundProducts",
        "summary": "Read the superannuation fund product register (requires payroll.superfundproducts.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfundproducts.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfundproducts.read"
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_SuperfundProducts",
        "summary": "Read the superannuation fund product register (requires payroll.superfundproducts.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfundproducts.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfundproducts.read"
      }
    },
    "/payroll.xro/1.0/Superfunds": {
      "get": {
        "operationId": "get_payroll_xro_1_0_Superfunds",
        "summary": "List superannuation funds (requires payroll.superfunds.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_Superfunds",
        "summary": "Create or update superannuation funds (requires payroll.superfunds, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_Superfunds",
        "summary": "Create or update superannuation funds (requires payroll.superfunds, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_Superfunds",
        "summary": "List superannuation funds (requires payroll.superfunds.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds.read"
      }
    },
    "/payroll.xro/1.0/Superfunds/{id}": {
      "get": {
        "operationId": "get_payroll_xro_1_0_Superfunds_id",
        "summary": "Read a single superannuation funds record (requires payroll.superfunds.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_Superfunds_id",
        "summary": "Update or delete a single superannuation funds record (requires payroll.superfunds, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_Superfunds_id",
        "summary": "Update or delete a single superannuation funds record (requires payroll.superfunds, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_1_0_Superfunds_id",
        "summary": "Update or delete a single superannuation funds record (requires payroll.superfunds, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_1_0_Superfunds_id",
        "summary": "Update or delete a single superannuation funds record (requires payroll.superfunds, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_Superfunds_id",
        "summary": "Read a single superannuation funds record (requires payroll.superfunds.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds.read"
      }
    },
    "/payroll.xro/1.0/Timesheets": {
      "get": {
        "operationId": "get_payroll_xro_1_0_Timesheets",
        "summary": "List timesheets (requires payroll.timesheets.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_Timesheets",
        "summary": "Create or update timesheets (requires payroll.timesheets, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_Timesheets",
        "summary": "Create or update timesheets (requires payroll.timesheets, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_Timesheets",
        "summary": "List timesheets (requires payroll.timesheets.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets.read"
      }
    },
    "/payroll.xro/1.0/Timesheets/{id}": {
      "get": {
        "operationId": "get_payroll_xro_1_0_Timesheets_id",
        "summary": "Read a single timesheets record (requires payroll.timesheets.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets.read"
      },
      "post": {
        "operationId": "post_payroll_xro_1_0_Timesheets_id",
        "summary": "Update or delete a single timesheets record (requires payroll.timesheets, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_1_0_Timesheets_id",
        "summary": "Update or delete a single timesheets record (requires payroll.timesheets, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_1_0_Timesheets_id",
        "summary": "Update or delete a single timesheets record (requires payroll.timesheets, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_1_0_Timesheets_id",
        "summary": "Update or delete a single timesheets record (requires payroll.timesheets, write)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_1_0_Timesheets_id",
        "summary": "Read a single timesheets record (requires payroll.timesheets.read, read only)",
        "tags": [
          "Payroll AU (1.0)"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets.read"
      }
    },
    "/payroll.xro/2.0/Employees": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees",
        "summary": "List employees (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees",
        "summary": "Create or update employees (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees",
        "summary": "Create or update employees (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees",
        "summary": "List employees (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id",
        "summary": "Read a single employees record (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id",
        "summary": "Update or delete a single employees record (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id",
        "summary": "Update or delete a single employees record (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id",
        "summary": "Update or delete a single employees record (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_Employees_id",
        "summary": "Update or delete a single employees record (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id",
        "summary": "Read a single employees record (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/Leave": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_Leave",
        "summary": "Read leave for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_Leave",
        "summary": "Create or update leave for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_Leave",
        "summary": "Create or update leave for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_Leave",
        "summary": "Create or update leave for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_Leave",
        "summary": "Read leave for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/Leave/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_Leave_subId",
        "summary": "Read a single leave record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_Leave_subId",
        "summary": "Update or delete a single leave record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_Leave_subId",
        "summary": "Update or delete a single leave record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_Leave_subId",
        "summary": "Update or delete a single leave record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_Employees_id_Leave_subId",
        "summary": "Update or delete a single leave record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_Leave_subId",
        "summary": "Read a single leave record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/LeaveBalances": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_LeaveBalances",
        "summary": "Read leave balances for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_LeaveBalances",
        "summary": "Create or update leave balances for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_LeaveBalances",
        "summary": "Create or update leave balances for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_LeaveBalances",
        "summary": "Create or update leave balances for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_LeaveBalances",
        "summary": "Read leave balances for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/LeaveBalances/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_LeaveBalances_subId",
        "summary": "Read a single leave balances record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_LeaveBalances_subId",
        "summary": "Update or delete a single leave balances record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_LeaveBalances_subId",
        "summary": "Update or delete a single leave balances record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_LeaveBalances_subId",
        "summary": "Update or delete a single leave balances record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_Employees_id_LeaveBalances_subId",
        "summary": "Update or delete a single leave balances record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_LeaveBalances_subId",
        "summary": "Read a single leave balances record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/LeavePeriods": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_LeavePeriods",
        "summary": "Read leave periods for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_LeavePeriods",
        "summary": "Create or update leave periods for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_LeavePeriods",
        "summary": "Create or update leave periods for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_LeavePeriods",
        "summary": "Create or update leave periods for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_LeavePeriods",
        "summary": "Read leave periods for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/LeavePeriods/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_LeavePeriods_subId",
        "summary": "Read a single leave periods record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_LeavePeriods_subId",
        "summary": "Update or delete a single leave periods record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_LeavePeriods_subId",
        "summary": "Update or delete a single leave periods record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_LeavePeriods_subId",
        "summary": "Update or delete a single leave periods record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_Employees_id_LeavePeriods_subId",
        "summary": "Update or delete a single leave periods record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_LeavePeriods_subId",
        "summary": "Read a single leave periods record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/LeaveSetup": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_LeaveSetup",
        "summary": "Read leave setup for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_LeaveSetup",
        "summary": "Create or update leave setup for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_LeaveSetup",
        "summary": "Create or update leave setup for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_LeaveSetup",
        "summary": "Create or update leave setup for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_LeaveSetup",
        "summary": "Read leave setup for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/LeaveSetup/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_LeaveSetup_subId",
        "summary": "Read a single leave setup record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_LeaveSetup_subId",
        "summary": "Update or delete a single leave setup record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_LeaveSetup_subId",
        "summary": "Update or delete a single leave setup record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_LeaveSetup_subId",
        "summary": "Update or delete a single leave setup record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_Employees_id_LeaveSetup_subId",
        "summary": "Update or delete a single leave setup record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_LeaveSetup_subId",
        "summary": "Read a single leave setup record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/OpeningBalances": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_OpeningBalances",
        "summary": "Read opening balances for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_OpeningBalances",
        "summary": "Create or update opening balances for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_OpeningBalances",
        "summary": "Create or update opening balances for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_OpeningBalances",
        "summary": "Create or update opening balances for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_OpeningBalances",
        "summary": "Read opening balances for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/OpeningBalances/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_OpeningBalances_subId",
        "summary": "Read a single opening balances record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_OpeningBalances_subId",
        "summary": "Update or delete a single opening balances record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_OpeningBalances_subId",
        "summary": "Update or delete a single opening balances record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_OpeningBalances_subId",
        "summary": "Update or delete a single opening balances record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_Employees_id_OpeningBalances_subId",
        "summary": "Update or delete a single opening balances record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_OpeningBalances_subId",
        "summary": "Read a single opening balances record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/PayTemplates": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_PayTemplates",
        "summary": "Read pay templates for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_PayTemplates",
        "summary": "Create or update pay templates for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_PayTemplates",
        "summary": "Create or update pay templates for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_PayTemplates",
        "summary": "Create or update pay templates for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_PayTemplates",
        "summary": "Read pay templates for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/PayTemplates/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_PayTemplates_subId",
        "summary": "Read a single pay templates record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_PayTemplates_subId",
        "summary": "Update or delete a single pay templates record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_PayTemplates_subId",
        "summary": "Update or delete a single pay templates record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_PayTemplates_subId",
        "summary": "Update or delete a single pay templates record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_Employees_id_PayTemplates_subId",
        "summary": "Update or delete a single pay templates record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_PayTemplates_subId",
        "summary": "Read a single pay templates record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/SalaryAndWages": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_SalaryAndWages",
        "summary": "Read salary and wages for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_SalaryAndWages",
        "summary": "Create or update salary and wages for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_SalaryAndWages",
        "summary": "Create or update salary and wages for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_SalaryAndWages",
        "summary": "Create or update salary and wages for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_SalaryAndWages",
        "summary": "Read salary and wages for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/SalaryAndWages/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_SalaryAndWages_subId",
        "summary": "Read a single salary and wages record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_SalaryAndWages_subId",
        "summary": "Update or delete a single salary and wages record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_SalaryAndWages_subId",
        "summary": "Update or delete a single salary and wages record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_SalaryAndWages_subId",
        "summary": "Update or delete a single salary and wages record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_Employees_id_SalaryAndWages_subId",
        "summary": "Update or delete a single salary and wages record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_SalaryAndWages_subId",
        "summary": "Read a single salary and wages record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/SuperMemberships": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_SuperMemberships",
        "summary": "Read super memberships for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_SuperMemberships",
        "summary": "Create or update super memberships for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_SuperMemberships",
        "summary": "Create or update super memberships for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_SuperMemberships",
        "summary": "Create or update super memberships for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_SuperMemberships",
        "summary": "Read super memberships for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/SuperMemberships/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_SuperMemberships_subId",
        "summary": "Read a single super memberships record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_SuperMemberships_subId",
        "summary": "Update or delete a single super memberships record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_SuperMemberships_subId",
        "summary": "Update or delete a single super memberships record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_SuperMemberships_subId",
        "summary": "Update or delete a single super memberships record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_Employees_id_SuperMemberships_subId",
        "summary": "Update or delete a single super memberships record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_SuperMemberships_subId",
        "summary": "Read a single super memberships record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/Tax": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_Tax",
        "summary": "Read tax for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_Tax",
        "summary": "Create or update tax for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_Tax",
        "summary": "Create or update tax for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_Tax",
        "summary": "Create or update tax for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_Tax",
        "summary": "Read tax for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/Employees/{id}/Tax/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Employees_id_Tax_subId",
        "summary": "Read a single tax record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Employees_id_Tax_subId",
        "summary": "Update or delete a single tax record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Employees_id_Tax_subId",
        "summary": "Update or delete a single tax record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Employees_id_Tax_subId",
        "summary": "Update or delete a single tax record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_Employees_id_Tax_subId",
        "summary": "Update or delete a single tax record for an employee (requires payroll.employees, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Employees_id_Tax_subId",
        "summary": "Read a single tax record for an employee (requires payroll.employees.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.employees.read"
      }
    },
    "/payroll.xro/2.0/LeaveTypes": {
      "get": {
        "operationId": "get_payroll_xro_2_0_LeaveTypes",
        "summary": "List leave types (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_LeaveTypes",
        "summary": "Create or update leave types (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_LeaveTypes",
        "summary": "Create or update leave types (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_LeaveTypes",
        "summary": "List leave types (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      }
    },
    "/payroll.xro/2.0/LeaveTypes/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_LeaveTypes_id",
        "summary": "Read a single leave types record (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_LeaveTypes_id",
        "summary": "Update or delete a single leave types record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_LeaveTypes_id",
        "summary": "Update or delete a single leave types record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_LeaveTypes_id",
        "summary": "Update or delete a single leave types record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_LeaveTypes_id",
        "summary": "Update or delete a single leave types record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_LeaveTypes_id",
        "summary": "Read a single leave types record (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      }
    },
    "/payroll.xro/2.0/PayItems": {
      "get": {
        "operationId": "get_payroll_xro_2_0_PayItems",
        "summary": "List pay items (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_PayItems",
        "summary": "Create or update pay items (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_PayItems",
        "summary": "Create or update pay items (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_PayItems",
        "summary": "List pay items (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      }
    },
    "/payroll.xro/2.0/PayItems/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_PayItems_id",
        "summary": "Read a single pay items record (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_PayItems_id",
        "summary": "Update or delete a single pay items record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_PayItems_id",
        "summary": "Update or delete a single pay items record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_PayItems_id",
        "summary": "Update or delete a single pay items record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_PayItems_id",
        "summary": "Update or delete a single pay items record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_PayItems_id",
        "summary": "Read a single pay items record (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      }
    },
    "/payroll.xro/2.0/PayRunCalendars": {
      "get": {
        "operationId": "get_payroll_xro_2_0_PayRunCalendars",
        "summary": "List pay run calendars (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_PayRunCalendars",
        "summary": "Create or update pay run calendars (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_PayRunCalendars",
        "summary": "Create or update pay run calendars (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_PayRunCalendars",
        "summary": "List pay run calendars (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      }
    },
    "/payroll.xro/2.0/PayRunCalendars/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_PayRunCalendars_id",
        "summary": "Read a single pay run calendars record (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_PayRunCalendars_id",
        "summary": "Update or delete a single pay run calendars record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_PayRunCalendars_id",
        "summary": "Update or delete a single pay run calendars record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_PayRunCalendars_id",
        "summary": "Update or delete a single pay run calendars record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_PayRunCalendars_id",
        "summary": "Update or delete a single pay run calendars record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_PayRunCalendars_id",
        "summary": "Read a single pay run calendars record (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      }
    },
    "/payroll.xro/2.0/PayRuns": {
      "get": {
        "operationId": "get_payroll_xro_2_0_PayRuns",
        "summary": "List pay runs (requires payroll.payruns.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_PayRuns",
        "summary": "Create or update pay runs (requires payroll.payruns, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_PayRuns",
        "summary": "Create or update pay runs (requires payroll.payruns, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_PayRuns",
        "summary": "List pay runs (requires payroll.payruns.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns.read"
      }
    },
    "/payroll.xro/2.0/PayRuns/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_PayRuns_id",
        "summary": "Read a single pay runs record (requires payroll.payruns.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_PayRuns_id",
        "summary": "Update or delete a single pay runs record (requires payroll.payruns, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_PayRuns_id",
        "summary": "Update or delete a single pay runs record (requires payroll.payruns, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_PayRuns_id",
        "summary": "Update or delete a single pay runs record (requires payroll.payruns, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_PayRuns_id",
        "summary": "Update or delete a single pay runs record (requires payroll.payruns, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_PayRuns_id",
        "summary": "Read a single pay runs record (requires payroll.payruns.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payruns.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payruns.read"
      }
    },
    "/payroll.xro/2.0/Payslips": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Payslips",
        "summary": "List pay slips (requires payroll.payslip.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Payslips",
        "summary": "Create or update pay slips (requires payroll.payslip, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Payslips",
        "summary": "Create or update pay slips (requires payroll.payslip, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Payslips",
        "summary": "List pay slips (requires payroll.payslip.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip.read"
      }
    },
    "/payroll.xro/2.0/Payslips/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Payslips_id",
        "summary": "Read a single pay slips record (requires payroll.payslip.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Payslips_id",
        "summary": "Update or delete a single pay slips record (requires payroll.payslip, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Payslips_id",
        "summary": "Update or delete a single pay slips record (requires payroll.payslip, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Payslips_id",
        "summary": "Update or delete a single pay slips record (requires payroll.payslip, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_Payslips_id",
        "summary": "Update or delete a single pay slips record (requires payroll.payslip, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Payslips_id",
        "summary": "Read a single pay slips record (requires payroll.payslip.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.payslip.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.payslip.read"
      }
    },
    "/payroll.xro/2.0/Settings": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Settings",
        "summary": "List payroll settings (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Settings",
        "summary": "Create or update payroll settings (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Settings",
        "summary": "Create or update payroll settings (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Settings",
        "summary": "List payroll settings (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      }
    },
    "/payroll.xro/2.0/Settings/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Settings_id",
        "summary": "Read a single payroll settings record (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Settings_id",
        "summary": "Update or delete a single payroll settings record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Settings_id",
        "summary": "Update or delete a single payroll settings record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Settings_id",
        "summary": "Update or delete a single payroll settings record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_Settings_id",
        "summary": "Update or delete a single payroll settings record (requires payroll.settings, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Settings_id",
        "summary": "Read a single payroll settings record (requires payroll.settings.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.settings.read"
      }
    },
    "/payroll.xro/2.0/Superfunds": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Superfunds",
        "summary": "List superannuation funds (requires payroll.superfunds.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Superfunds",
        "summary": "Create or update superannuation funds (requires payroll.superfunds, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Superfunds",
        "summary": "Create or update superannuation funds (requires payroll.superfunds, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Superfunds",
        "summary": "List superannuation funds (requires payroll.superfunds.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds.read"
      }
    },
    "/payroll.xro/2.0/Superfunds/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Superfunds_id",
        "summary": "Read a single superannuation funds record (requires payroll.superfunds.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Superfunds_id",
        "summary": "Update or delete a single superannuation funds record (requires payroll.superfunds, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Superfunds_id",
        "summary": "Update or delete a single superannuation funds record (requires payroll.superfunds, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Superfunds_id",
        "summary": "Update or delete a single superannuation funds record (requires payroll.superfunds, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_Superfunds_id",
        "summary": "Update or delete a single superannuation funds record (requires payroll.superfunds, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Superfunds_id",
        "summary": "Read a single superannuation funds record (requires payroll.superfunds.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.superfunds.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.superfunds.read"
      }
    },
    "/payroll.xro/2.0/Timesheets": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Timesheets",
        "summary": "List timesheets (requires payroll.timesheets.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Timesheets",
        "summary": "Create or update timesheets (requires payroll.timesheets, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Timesheets",
        "summary": "Create or update timesheets (requires payroll.timesheets, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Timesheets",
        "summary": "List timesheets (requires payroll.timesheets.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets.read"
      }
    },
    "/payroll.xro/2.0/Timesheets/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_Timesheets_id",
        "summary": "Read a single timesheets record (requires payroll.timesheets.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_Timesheets_id",
        "summary": "Update or delete a single timesheets record (requires payroll.timesheets, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_Timesheets_id",
        "summary": "Update or delete a single timesheets record (requires payroll.timesheets, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_Timesheets_id",
        "summary": "Update or delete a single timesheets record (requires payroll.timesheets, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_Timesheets_id",
        "summary": "Update or delete a single timesheets record (requires payroll.timesheets, write)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_Timesheets_id",
        "summary": "Read a single timesheets record (requires payroll.timesheets.read, read only)",
        "tags": [
          "Payroll AU"
        ],
        "security": [
          {
            "apiKey": [
              "payroll.timesheets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll.timesheets.read"
      }
    },
    "/payroll.xro/2.0/nz/Deductions": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Deductions",
        "summary": "List deduction types (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Deductions",
        "summary": "Create or update deduction types (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Deductions",
        "summary": "Create or update deduction types (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Deductions",
        "summary": "List deduction types (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      }
    },
    "/payroll.xro/2.0/nz/Deductions/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Deductions_id",
        "summary": "Read a single deduction types record (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Deductions_id",
        "summary": "Update or delete a single deduction types record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Deductions_id",
        "summary": "Update or delete a single deduction types record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Deductions_id",
        "summary": "Update or delete a single deduction types record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_Deductions_id",
        "summary": "Update or delete a single deduction types record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Deductions_id",
        "summary": "Read a single deduction types record (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      }
    },
    "/payroll.xro/2.0/nz/EarningsRates": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_EarningsRates",
        "summary": "List earnings rates (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_EarningsRates",
        "summary": "Create or update earnings rates (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_EarningsRates",
        "summary": "Create or update earnings rates (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_EarningsRates",
        "summary": "List earnings rates (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      }
    },
    "/payroll.xro/2.0/nz/EarningsRates/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_EarningsRates_id",
        "summary": "Read a single earnings rates record (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_EarningsRates_id",
        "summary": "Update or delete a single earnings rates record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_EarningsRates_id",
        "summary": "Update or delete a single earnings rates record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_EarningsRates_id",
        "summary": "Update or delete a single earnings rates record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_EarningsRates_id",
        "summary": "Update or delete a single earnings rates record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_EarningsRates_id",
        "summary": "Read a single earnings rates record (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees",
        "summary": "List employees (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees",
        "summary": "Create or update employees (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees",
        "summary": "Create or update employees (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees",
        "summary": "List employees (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id",
        "summary": "Read a single employees record (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id",
        "summary": "Update or delete a single employees record (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id",
        "summary": "Update or delete a single employees record (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id",
        "summary": "Update or delete a single employees record (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_Employees_id",
        "summary": "Update or delete a single employees record (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id",
        "summary": "Read a single employees record (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/Employment": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_Employment",
        "summary": "Read employment for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_Employment",
        "summary": "Create or update employment for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_Employment",
        "summary": "Create or update employment for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_Employment",
        "summary": "Create or update employment for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_Employment",
        "summary": "Read employment for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/Employment/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_Employment_subId",
        "summary": "Read a single employment record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_Employment_subId",
        "summary": "Update or delete a single employment record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_Employment_subId",
        "summary": "Update or delete a single employment record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_Employment_subId",
        "summary": "Update or delete a single employment record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_Employees_id_Employment_subId",
        "summary": "Update or delete a single employment record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_Employment_subId",
        "summary": "Read a single employment record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/Leave": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_Leave",
        "summary": "Read leave for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_Leave",
        "summary": "Create or update leave for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_Leave",
        "summary": "Create or update leave for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_Leave",
        "summary": "Create or update leave for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_Leave",
        "summary": "Read leave for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/Leave/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_Leave_subId",
        "summary": "Read a single leave record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_Leave_subId",
        "summary": "Update or delete a single leave record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_Leave_subId",
        "summary": "Update or delete a single leave record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_Leave_subId",
        "summary": "Update or delete a single leave record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_Employees_id_Leave_subId",
        "summary": "Update or delete a single leave record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_Leave_subId",
        "summary": "Read a single leave record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/LeaveBalances": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_LeaveBalances",
        "summary": "Read leave balances for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_LeaveBalances",
        "summary": "Create or update leave balances for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_LeaveBalances",
        "summary": "Create or update leave balances for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_LeaveBalances",
        "summary": "Create or update leave balances for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_LeaveBalances",
        "summary": "Read leave balances for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/LeaveBalances/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_LeaveBalances_subId",
        "summary": "Read a single leave balances record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_LeaveBalances_subId",
        "summary": "Update or delete a single leave balances record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_LeaveBalances_subId",
        "summary": "Update or delete a single leave balances record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_LeaveBalances_subId",
        "summary": "Update or delete a single leave balances record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_Employees_id_LeaveBalances_subId",
        "summary": "Update or delete a single leave balances record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_LeaveBalances_subId",
        "summary": "Read a single leave balances record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/LeavePeriods": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_LeavePeriods",
        "summary": "Read leave periods for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_LeavePeriods",
        "summary": "Create or update leave periods for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_LeavePeriods",
        "summary": "Create or update leave periods for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_LeavePeriods",
        "summary": "Create or update leave periods for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_LeavePeriods",
        "summary": "Read leave periods for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/LeavePeriods/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_LeavePeriods_subId",
        "summary": "Read a single leave periods record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_LeavePeriods_subId",
        "summary": "Update or delete a single leave periods record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_LeavePeriods_subId",
        "summary": "Update or delete a single leave periods record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_LeavePeriods_subId",
        "summary": "Update or delete a single leave periods record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_Employees_id_LeavePeriods_subId",
        "summary": "Update or delete a single leave periods record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_LeavePeriods_subId",
        "summary": "Read a single leave periods record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/LeaveSetup": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_LeaveSetup",
        "summary": "Read leave setup for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_LeaveSetup",
        "summary": "Create or update leave setup for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_LeaveSetup",
        "summary": "Create or update leave setup for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_LeaveSetup",
        "summary": "Create or update leave setup for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_LeaveSetup",
        "summary": "Read leave setup for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/LeaveSetup/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_LeaveSetup_subId",
        "summary": "Read a single leave setup record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_LeaveSetup_subId",
        "summary": "Update or delete a single leave setup record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_LeaveSetup_subId",
        "summary": "Update or delete a single leave setup record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_LeaveSetup_subId",
        "summary": "Update or delete a single leave setup record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_Employees_id_LeaveSetup_subId",
        "summary": "Update or delete a single leave setup record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_LeaveSetup_subId",
        "summary": "Read a single leave setup record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/OpeningBalances": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_OpeningBalances",
        "summary": "Read opening balances for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_OpeningBalances",
        "summary": "Create or update opening balances for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_OpeningBalances",
        "summary": "Create or update opening balances for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_OpeningBalances",
        "summary": "Create or update opening balances for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_OpeningBalances",
        "summary": "Read opening balances for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/OpeningBalances/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_OpeningBalances_subId",
        "summary": "Read a single opening balances record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_OpeningBalances_subId",
        "summary": "Update or delete a single opening balances record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_OpeningBalances_subId",
        "summary": "Update or delete a single opening balances record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_OpeningBalances_subId",
        "summary": "Update or delete a single opening balances record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_Employees_id_OpeningBalances_subId",
        "summary": "Update or delete a single opening balances record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_OpeningBalances_subId",
        "summary": "Read a single opening balances record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/PayTemplates": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_PayTemplates",
        "summary": "Read pay templates for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_PayTemplates",
        "summary": "Create or update pay templates for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_PayTemplates",
        "summary": "Create or update pay templates for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_PayTemplates",
        "summary": "Create or update pay templates for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_PayTemplates",
        "summary": "Read pay templates for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/PayTemplates/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_PayTemplates_subId",
        "summary": "Read a single pay templates record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_PayTemplates_subId",
        "summary": "Update or delete a single pay templates record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_PayTemplates_subId",
        "summary": "Update or delete a single pay templates record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_PayTemplates_subId",
        "summary": "Update or delete a single pay templates record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_Employees_id_PayTemplates_subId",
        "summary": "Update or delete a single pay templates record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_PayTemplates_subId",
        "summary": "Read a single pay templates record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/SalaryAndWages": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_SalaryAndWages",
        "summary": "Read salary and wages for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_SalaryAndWages",
        "summary": "Create or update salary and wages for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_SalaryAndWages",
        "summary": "Create or update salary and wages for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_SalaryAndWages",
        "summary": "Create or update salary and wages for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_SalaryAndWages",
        "summary": "Read salary and wages for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/SalaryAndWages/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_SalaryAndWages_subId",
        "summary": "Read a single salary and wages record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_SalaryAndWages_subId",
        "summary": "Update or delete a single salary and wages record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_SalaryAndWages_subId",
        "summary": "Update or delete a single salary and wages record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_SalaryAndWages_subId",
        "summary": "Update or delete a single salary and wages record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_Employees_id_SalaryAndWages_subId",
        "summary": "Update or delete a single salary and wages record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_SalaryAndWages_subId",
        "summary": "Read a single salary and wages record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/Tax": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_Tax",
        "summary": "Read tax for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_Tax",
        "summary": "Create or update tax for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_Tax",
        "summary": "Create or update tax for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_Tax",
        "summary": "Create or update tax for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_Tax",
        "summary": "Read tax for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/Tax/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_Tax_subId",
        "summary": "Read a single tax record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_Tax_subId",
        "summary": "Update or delete a single tax record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_Tax_subId",
        "summary": "Update or delete a single tax record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_Tax_subId",
        "summary": "Update or delete a single tax record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_Employees_id_Tax_subId",
        "summary": "Update or delete a single tax record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_Tax_subId",
        "summary": "Read a single tax record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/WorkingPattern": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_WorkingPattern",
        "summary": "Read working pattern for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_WorkingPattern",
        "summary": "Create or update working pattern for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_WorkingPattern",
        "summary": "Create or update working pattern for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_WorkingPattern",
        "summary": "Create or update working pattern for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_WorkingPattern",
        "summary": "Read working pattern for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/Employees/{id}/WorkingPattern/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Employees_id_WorkingPattern_subId",
        "summary": "Read a single working pattern record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Employees_id_WorkingPattern_subId",
        "summary": "Update or delete a single working pattern record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Employees_id_WorkingPattern_subId",
        "summary": "Update or delete a single working pattern record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Employees_id_WorkingPattern_subId",
        "summary": "Update or delete a single working pattern record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_Employees_id_WorkingPattern_subId",
        "summary": "Update or delete a single working pattern record for an employee (requires payroll_nz.employees, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Employees_id_WorkingPattern_subId",
        "summary": "Read a single working pattern record for an employee (requires payroll_nz.employees.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.employees.read"
      }
    },
    "/payroll.xro/2.0/nz/LeaveTypes": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_LeaveTypes",
        "summary": "List leave types (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_LeaveTypes",
        "summary": "Create or update leave types (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_LeaveTypes",
        "summary": "Create or update leave types (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_LeaveTypes",
        "summary": "List leave types (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      }
    },
    "/payroll.xro/2.0/nz/LeaveTypes/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_LeaveTypes_id",
        "summary": "Read a single leave types record (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_LeaveTypes_id",
        "summary": "Update or delete a single leave types record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_LeaveTypes_id",
        "summary": "Update or delete a single leave types record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_LeaveTypes_id",
        "summary": "Update or delete a single leave types record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_LeaveTypes_id",
        "summary": "Update or delete a single leave types record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_LeaveTypes_id",
        "summary": "Read a single leave types record (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      }
    },
    "/payroll.xro/2.0/nz/PayRunCalendars": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_PayRunCalendars",
        "summary": "List pay run calendars (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_PayRunCalendars",
        "summary": "Create or update pay run calendars (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_PayRunCalendars",
        "summary": "Create or update pay run calendars (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_PayRunCalendars",
        "summary": "List pay run calendars (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      }
    },
    "/payroll.xro/2.0/nz/PayRunCalendars/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_PayRunCalendars_id",
        "summary": "Read a single pay run calendars record (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_PayRunCalendars_id",
        "summary": "Update or delete a single pay run calendars record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_PayRunCalendars_id",
        "summary": "Update or delete a single pay run calendars record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_PayRunCalendars_id",
        "summary": "Update or delete a single pay run calendars record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_PayRunCalendars_id",
        "summary": "Update or delete a single pay run calendars record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_PayRunCalendars_id",
        "summary": "Read a single pay run calendars record (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      }
    },
    "/payroll.xro/2.0/nz/PayRuns": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_PayRuns",
        "summary": "List pay runs (requires payroll_nz.payruns.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payruns.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payruns.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_PayRuns",
        "summary": "Create or update pay runs (requires payroll_nz.payruns, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_PayRuns",
        "summary": "Create or update pay runs (requires payroll_nz.payruns, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_PayRuns",
        "summary": "List pay runs (requires payroll_nz.payruns.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payruns.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payruns.read"
      }
    },
    "/payroll.xro/2.0/nz/PayRuns/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_PayRuns_id",
        "summary": "Read a single pay runs record (requires payroll_nz.payruns.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payruns.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payruns.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_PayRuns_id",
        "summary": "Update or delete a single pay runs record (requires payroll_nz.payruns, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_PayRuns_id",
        "summary": "Update or delete a single pay runs record (requires payroll_nz.payruns, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_PayRuns_id",
        "summary": "Update or delete a single pay runs record (requires payroll_nz.payruns, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_PayRuns_id",
        "summary": "Update or delete a single pay runs record (requires payroll_nz.payruns, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_PayRuns_id",
        "summary": "Read a single pay runs record (requires payroll_nz.payruns.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payruns.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payruns.read"
      }
    },
    "/payroll.xro/2.0/nz/Payslips": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Payslips",
        "summary": "List pay slips (requires payroll_nz.payslip.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payslip.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payslip.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Payslips",
        "summary": "Create or update pay slips (requires payroll_nz.payslip, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Payslips",
        "summary": "Create or update pay slips (requires payroll_nz.payslip, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Payslips",
        "summary": "List pay slips (requires payroll_nz.payslip.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payslip.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payslip.read"
      }
    },
    "/payroll.xro/2.0/nz/Payslips/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Payslips_id",
        "summary": "Read a single pay slips record (requires payroll_nz.payslip.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payslip.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payslip.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Payslips_id",
        "summary": "Update or delete a single pay slips record (requires payroll_nz.payslip, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Payslips_id",
        "summary": "Update or delete a single pay slips record (requires payroll_nz.payslip, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Payslips_id",
        "summary": "Update or delete a single pay slips record (requires payroll_nz.payslip, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_Payslips_id",
        "summary": "Update or delete a single pay slips record (requires payroll_nz.payslip, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Payslips_id",
        "summary": "Read a single pay slips record (requires payroll_nz.payslip.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.payslip.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.payslip.read"
      }
    },
    "/payroll.xro/2.0/nz/Reimbursements": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Reimbursements",
        "summary": "List reimbursement types (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Reimbursements",
        "summary": "Create or update reimbursement types (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Reimbursements",
        "summary": "Create or update reimbursement types (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Reimbursements",
        "summary": "List reimbursement types (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      }
    },
    "/payroll.xro/2.0/nz/Reimbursements/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Reimbursements_id",
        "summary": "Read a single reimbursement types record (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Reimbursements_id",
        "summary": "Update or delete a single reimbursement types record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Reimbursements_id",
        "summary": "Update or delete a single reimbursement types record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Reimbursements_id",
        "summary": "Update or delete a single reimbursement types record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_Reimbursements_id",
        "summary": "Update or delete a single reimbursement types record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Reimbursements_id",
        "summary": "Read a single reimbursement types record (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      }
    },
    "/payroll.xro/2.0/nz/Settings": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Settings",
        "summary": "List payroll settings (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Settings",
        "summary": "Create or update payroll settings (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Settings",
        "summary": "Create or update payroll settings (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Settings",
        "summary": "List payroll settings (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      }
    },
    "/payroll.xro/2.0/nz/Settings/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Settings_id",
        "summary": "Read a single payroll settings record (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Settings_id",
        "summary": "Update or delete a single payroll settings record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Settings_id",
        "summary": "Update or delete a single payroll settings record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Settings_id",
        "summary": "Update or delete a single payroll settings record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_Settings_id",
        "summary": "Update or delete a single payroll settings record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Settings_id",
        "summary": "Read a single payroll settings record (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      }
    },
    "/payroll.xro/2.0/nz/StatutoryDeductions": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_StatutoryDeductions",
        "summary": "List statutory deductions (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_StatutoryDeductions",
        "summary": "Create or update statutory deductions (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_StatutoryDeductions",
        "summary": "Create or update statutory deductions (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_StatutoryDeductions",
        "summary": "List statutory deductions (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      }
    },
    "/payroll.xro/2.0/nz/StatutoryDeductions/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_StatutoryDeductions_id",
        "summary": "Read a single statutory deductions record (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_StatutoryDeductions_id",
        "summary": "Update or delete a single statutory deductions record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_StatutoryDeductions_id",
        "summary": "Update or delete a single statutory deductions record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_StatutoryDeductions_id",
        "summary": "Update or delete a single statutory deductions record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_StatutoryDeductions_id",
        "summary": "Update or delete a single statutory deductions record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_StatutoryDeductions_id",
        "summary": "Read a single statutory deductions record (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      }
    },
    "/payroll.xro/2.0/nz/Superannuations": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Superannuations",
        "summary": "List superannuation schemes (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Superannuations",
        "summary": "Create or update superannuation schemes (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Superannuations",
        "summary": "Create or update superannuation schemes (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Superannuations",
        "summary": "List superannuation schemes (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      }
    },
    "/payroll.xro/2.0/nz/Superannuations/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Superannuations_id",
        "summary": "Read a single superannuation schemes record (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Superannuations_id",
        "summary": "Update or delete a single superannuation schemes record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Superannuations_id",
        "summary": "Update or delete a single superannuation schemes record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Superannuations_id",
        "summary": "Update or delete a single superannuation schemes record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_Superannuations_id",
        "summary": "Update or delete a single superannuation schemes record (requires payroll_nz.settings, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Superannuations_id",
        "summary": "Read a single superannuation schemes record (requires payroll_nz.settings.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.settings.read"
      }
    },
    "/payroll.xro/2.0/nz/Timesheets": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Timesheets",
        "summary": "List timesheets (requires payroll_nz.timesheets.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.timesheets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.timesheets.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Timesheets",
        "summary": "Create or update timesheets (requires payroll_nz.timesheets, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Timesheets",
        "summary": "Create or update timesheets (requires payroll_nz.timesheets, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Timesheets",
        "summary": "List timesheets (requires payroll_nz.timesheets.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.timesheets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.timesheets.read"
      }
    },
    "/payroll.xro/2.0/nz/Timesheets/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_nz_Timesheets_id",
        "summary": "Read a single timesheets record (requires payroll_nz.timesheets.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.timesheets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.timesheets.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_nz_Timesheets_id",
        "summary": "Update or delete a single timesheets record (requires payroll_nz.timesheets, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_nz_Timesheets_id",
        "summary": "Update or delete a single timesheets record (requires payroll_nz.timesheets, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_nz_Timesheets_id",
        "summary": "Update or delete a single timesheets record (requires payroll_nz.timesheets, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_nz_Timesheets_id",
        "summary": "Update or delete a single timesheets record (requires payroll_nz.timesheets, write)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_nz_Timesheets_id",
        "summary": "Read a single timesheets record (requires payroll_nz.timesheets.read, read only)",
        "tags": [
          "Payroll NZ"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_nz.timesheets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_nz.timesheets.read"
      }
    },
    "/payroll.xro/2.0/uk/Benefits": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Benefits",
        "summary": "List benefits (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Benefits",
        "summary": "Create or update benefits (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Benefits",
        "summary": "Create or update benefits (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Benefits",
        "summary": "List benefits (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      }
    },
    "/payroll.xro/2.0/uk/Benefits/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Benefits_id",
        "summary": "Read a single benefits record (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Benefits_id",
        "summary": "Update or delete a single benefits record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Benefits_id",
        "summary": "Update or delete a single benefits record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Benefits_id",
        "summary": "Update or delete a single benefits record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Benefits_id",
        "summary": "Update or delete a single benefits record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Benefits_id",
        "summary": "Read a single benefits record (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      }
    },
    "/payroll.xro/2.0/uk/Deductions": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Deductions",
        "summary": "List deduction types (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Deductions",
        "summary": "Create or update deduction types (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Deductions",
        "summary": "Create or update deduction types (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Deductions",
        "summary": "List deduction types (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      }
    },
    "/payroll.xro/2.0/uk/Deductions/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Deductions_id",
        "summary": "Read a single deduction types record (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Deductions_id",
        "summary": "Update or delete a single deduction types record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Deductions_id",
        "summary": "Update or delete a single deduction types record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Deductions_id",
        "summary": "Update or delete a single deduction types record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Deductions_id",
        "summary": "Update or delete a single deduction types record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Deductions_id",
        "summary": "Read a single deduction types record (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      }
    },
    "/payroll.xro/2.0/uk/Earnings": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Earnings",
        "summary": "List earnings rates (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Earnings",
        "summary": "Create or update earnings rates (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Earnings",
        "summary": "Create or update earnings rates (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Earnings",
        "summary": "List earnings rates (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      }
    },
    "/payroll.xro/2.0/uk/Earnings/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Earnings_id",
        "summary": "Read a single earnings rates record (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Earnings_id",
        "summary": "Update or delete a single earnings rates record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Earnings_id",
        "summary": "Update or delete a single earnings rates record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Earnings_id",
        "summary": "Update or delete a single earnings rates record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Earnings_id",
        "summary": "Update or delete a single earnings rates record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Earnings_id",
        "summary": "Read a single earnings rates record (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees",
        "summary": "List employees (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees",
        "summary": "Create or update employees (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees",
        "summary": "Create or update employees (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees",
        "summary": "List employees (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id",
        "summary": "Read a single employees record (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id",
        "summary": "Update or delete a single employees record (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id",
        "summary": "Update or delete a single employees record (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id",
        "summary": "Update or delete a single employees record (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Employees_id",
        "summary": "Update or delete a single employees record (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id",
        "summary": "Read a single employees record (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/Benefits": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_Benefits",
        "summary": "Read benefits for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_Benefits",
        "summary": "Create or update benefits for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_Benefits",
        "summary": "Create or update benefits for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_Benefits",
        "summary": "Create or update benefits for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_Benefits",
        "summary": "Read benefits for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/Benefits/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_Benefits_subId",
        "summary": "Read a single benefits record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_Benefits_subId",
        "summary": "Update or delete a single benefits record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_Benefits_subId",
        "summary": "Update or delete a single benefits record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_Benefits_subId",
        "summary": "Update or delete a single benefits record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Employees_id_Benefits_subId",
        "summary": "Update or delete a single benefits record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_Benefits_subId",
        "summary": "Read a single benefits record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/Employment": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_Employment",
        "summary": "Read employment for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_Employment",
        "summary": "Create or update employment for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_Employment",
        "summary": "Create or update employment for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_Employment",
        "summary": "Create or update employment for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_Employment",
        "summary": "Read employment for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/Employment/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_Employment_subId",
        "summary": "Read a single employment record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_Employment_subId",
        "summary": "Update or delete a single employment record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_Employment_subId",
        "summary": "Update or delete a single employment record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_Employment_subId",
        "summary": "Update or delete a single employment record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Employees_id_Employment_subId",
        "summary": "Update or delete a single employment record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_Employment_subId",
        "summary": "Read a single employment record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/Leave": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_Leave",
        "summary": "Read leave for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_Leave",
        "summary": "Create or update leave for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_Leave",
        "summary": "Create or update leave for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_Leave",
        "summary": "Create or update leave for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_Leave",
        "summary": "Read leave for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/Leave/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_Leave_subId",
        "summary": "Read a single leave record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_Leave_subId",
        "summary": "Update or delete a single leave record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_Leave_subId",
        "summary": "Update or delete a single leave record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_Leave_subId",
        "summary": "Update or delete a single leave record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Employees_id_Leave_subId",
        "summary": "Update or delete a single leave record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_Leave_subId",
        "summary": "Read a single leave record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/LeaveBalances": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_LeaveBalances",
        "summary": "Read leave balances for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_LeaveBalances",
        "summary": "Create or update leave balances for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_LeaveBalances",
        "summary": "Create or update leave balances for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_LeaveBalances",
        "summary": "Create or update leave balances for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_LeaveBalances",
        "summary": "Read leave balances for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/LeaveBalances/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_LeaveBalances_subId",
        "summary": "Read a single leave balances record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_LeaveBalances_subId",
        "summary": "Update or delete a single leave balances record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_LeaveBalances_subId",
        "summary": "Update or delete a single leave balances record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_LeaveBalances_subId",
        "summary": "Update or delete a single leave balances record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Employees_id_LeaveBalances_subId",
        "summary": "Update or delete a single leave balances record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_LeaveBalances_subId",
        "summary": "Read a single leave balances record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/LeavePeriods": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_LeavePeriods",
        "summary": "Read leave periods for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_LeavePeriods",
        "summary": "Create or update leave periods for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_LeavePeriods",
        "summary": "Create or update leave periods for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_LeavePeriods",
        "summary": "Create or update leave periods for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_LeavePeriods",
        "summary": "Read leave periods for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/LeavePeriods/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_LeavePeriods_subId",
        "summary": "Read a single leave periods record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_LeavePeriods_subId",
        "summary": "Update or delete a single leave periods record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_LeavePeriods_subId",
        "summary": "Update or delete a single leave periods record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_LeavePeriods_subId",
        "summary": "Update or delete a single leave periods record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Employees_id_LeavePeriods_subId",
        "summary": "Update or delete a single leave periods record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_LeavePeriods_subId",
        "summary": "Read a single leave periods record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/OpeningBalances": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_OpeningBalances",
        "summary": "Read opening balances for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_OpeningBalances",
        "summary": "Create or update opening balances for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_OpeningBalances",
        "summary": "Create or update opening balances for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_OpeningBalances",
        "summary": "Create or update opening balances for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_OpeningBalances",
        "summary": "Read opening balances for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/OpeningBalances/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_OpeningBalances_subId",
        "summary": "Read a single opening balances record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_OpeningBalances_subId",
        "summary": "Update or delete a single opening balances record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_OpeningBalances_subId",
        "summary": "Update or delete a single opening balances record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_OpeningBalances_subId",
        "summary": "Update or delete a single opening balances record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Employees_id_OpeningBalances_subId",
        "summary": "Update or delete a single opening balances record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_OpeningBalances_subId",
        "summary": "Read a single opening balances record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/PayTemplates": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_PayTemplates",
        "summary": "Read pay templates for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_PayTemplates",
        "summary": "Create or update pay templates for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_PayTemplates",
        "summary": "Create or update pay templates for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_PayTemplates",
        "summary": "Create or update pay templates for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_PayTemplates",
        "summary": "Read pay templates for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/PayTemplates/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_PayTemplates_subId",
        "summary": "Read a single pay templates record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_PayTemplates_subId",
        "summary": "Update or delete a single pay templates record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_PayTemplates_subId",
        "summary": "Update or delete a single pay templates record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_PayTemplates_subId",
        "summary": "Update or delete a single pay templates record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Employees_id_PayTemplates_subId",
        "summary": "Update or delete a single pay templates record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_PayTemplates_subId",
        "summary": "Read a single pay templates record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/SalaryAndWages": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_SalaryAndWages",
        "summary": "Read salary and wages for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_SalaryAndWages",
        "summary": "Create or update salary and wages for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_SalaryAndWages",
        "summary": "Create or update salary and wages for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_SalaryAndWages",
        "summary": "Create or update salary and wages for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_SalaryAndWages",
        "summary": "Read salary and wages for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/SalaryAndWages/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_SalaryAndWages_subId",
        "summary": "Read a single salary and wages record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_SalaryAndWages_subId",
        "summary": "Update or delete a single salary and wages record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_SalaryAndWages_subId",
        "summary": "Update or delete a single salary and wages record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_SalaryAndWages_subId",
        "summary": "Update or delete a single salary and wages record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Employees_id_SalaryAndWages_subId",
        "summary": "Update or delete a single salary and wages record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_SalaryAndWages_subId",
        "summary": "Read a single salary and wages record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/Tax": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_Tax",
        "summary": "Read tax for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_Tax",
        "summary": "Create or update tax for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_Tax",
        "summary": "Create or update tax for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_Tax",
        "summary": "Create or update tax for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_Tax",
        "summary": "Read tax for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/Tax/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_Tax_subId",
        "summary": "Read a single tax record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_Tax_subId",
        "summary": "Update or delete a single tax record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_Tax_subId",
        "summary": "Update or delete a single tax record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_Tax_subId",
        "summary": "Update or delete a single tax record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Employees_id_Tax_subId",
        "summary": "Update or delete a single tax record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_Tax_subId",
        "summary": "Read a single tax record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/WorkingPattern": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_WorkingPattern",
        "summary": "Read working pattern for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_WorkingPattern",
        "summary": "Create or update working pattern for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_WorkingPattern",
        "summary": "Create or update working pattern for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_WorkingPattern",
        "summary": "Create or update working pattern for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_WorkingPattern",
        "summary": "Read working pattern for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Employees/{id}/WorkingPattern/{subId}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Employees_id_WorkingPattern_subId",
        "summary": "Read a single working pattern record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Employees_id_WorkingPattern_subId",
        "summary": "Update or delete a single working pattern record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Employees_id_WorkingPattern_subId",
        "summary": "Update or delete a single working pattern record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Employees_id_WorkingPattern_subId",
        "summary": "Update or delete a single working pattern record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Employees_id_WorkingPattern_subId",
        "summary": "Update or delete a single working pattern record for an employee (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Employees_id_WorkingPattern_subId",
        "summary": "Read a single working pattern record for an employee (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/LeaveTypes": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_LeaveTypes",
        "summary": "List leave types (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_LeaveTypes",
        "summary": "Create or update leave types (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_LeaveTypes",
        "summary": "Create or update leave types (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_LeaveTypes",
        "summary": "List leave types (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      }
    },
    "/payroll.xro/2.0/uk/LeaveTypes/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_LeaveTypes_id",
        "summary": "Read a single leave types record (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_LeaveTypes_id",
        "summary": "Update or delete a single leave types record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_LeaveTypes_id",
        "summary": "Update or delete a single leave types record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_LeaveTypes_id",
        "summary": "Update or delete a single leave types record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_LeaveTypes_id",
        "summary": "Update or delete a single leave types record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_LeaveTypes_id",
        "summary": "Read a single leave types record (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      }
    },
    "/payroll.xro/2.0/uk/PayRunCalendars": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_PayRunCalendars",
        "summary": "List pay run calendars (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_PayRunCalendars",
        "summary": "Create or update pay run calendars (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_PayRunCalendars",
        "summary": "Create or update pay run calendars (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_PayRunCalendars",
        "summary": "List pay run calendars (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      }
    },
    "/payroll.xro/2.0/uk/PayRunCalendars/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_PayRunCalendars_id",
        "summary": "Read a single pay run calendars record (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_PayRunCalendars_id",
        "summary": "Update or delete a single pay run calendars record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_PayRunCalendars_id",
        "summary": "Update or delete a single pay run calendars record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_PayRunCalendars_id",
        "summary": "Update or delete a single pay run calendars record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_PayRunCalendars_id",
        "summary": "Update or delete a single pay run calendars record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_PayRunCalendars_id",
        "summary": "Read a single pay run calendars record (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      }
    },
    "/payroll.xro/2.0/uk/PayRuns": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_PayRuns",
        "summary": "List pay runs (requires payroll_uk.payruns.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payruns.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payruns.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_PayRuns",
        "summary": "Create or update pay runs (requires payroll_uk.payruns, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_PayRuns",
        "summary": "Create or update pay runs (requires payroll_uk.payruns, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_PayRuns",
        "summary": "List pay runs (requires payroll_uk.payruns.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payruns.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payruns.read"
      }
    },
    "/payroll.xro/2.0/uk/PayRuns/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_PayRuns_id",
        "summary": "Read a single pay runs record (requires payroll_uk.payruns.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payruns.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payruns.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_PayRuns_id",
        "summary": "Update or delete a single pay runs record (requires payroll_uk.payruns, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_PayRuns_id",
        "summary": "Update or delete a single pay runs record (requires payroll_uk.payruns, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_PayRuns_id",
        "summary": "Update or delete a single pay runs record (requires payroll_uk.payruns, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_PayRuns_id",
        "summary": "Update or delete a single pay runs record (requires payroll_uk.payruns, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payruns"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payruns",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_PayRuns_id",
        "summary": "Read a single pay runs record (requires payroll_uk.payruns.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payruns.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payruns.read"
      }
    },
    "/payroll.xro/2.0/uk/Payslips": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Payslips",
        "summary": "List pay slips (requires payroll_uk.payslip.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payslip.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payslip.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Payslips",
        "summary": "Create or update pay slips (requires payroll_uk.payslip, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Payslips",
        "summary": "Create or update pay slips (requires payroll_uk.payslip, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Payslips",
        "summary": "List pay slips (requires payroll_uk.payslip.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payslip.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payslip.read"
      }
    },
    "/payroll.xro/2.0/uk/Payslips/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Payslips_id",
        "summary": "Read a single pay slips record (requires payroll_uk.payslip.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payslip.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payslip.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Payslips_id",
        "summary": "Update or delete a single pay slips record (requires payroll_uk.payslip, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Payslips_id",
        "summary": "Update or delete a single pay slips record (requires payroll_uk.payslip, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Payslips_id",
        "summary": "Update or delete a single pay slips record (requires payroll_uk.payslip, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Payslips_id",
        "summary": "Update or delete a single pay slips record (requires payroll_uk.payslip, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payslip"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payslip",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Payslips_id",
        "summary": "Read a single pay slips record (requires payroll_uk.payslip.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.payslip.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.payslip.read"
      }
    },
    "/payroll.xro/2.0/uk/Reimbursements": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Reimbursements",
        "summary": "List reimbursement types (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Reimbursements",
        "summary": "Create or update reimbursement types (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Reimbursements",
        "summary": "Create or update reimbursement types (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Reimbursements",
        "summary": "List reimbursement types (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      }
    },
    "/payroll.xro/2.0/uk/Reimbursements/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Reimbursements_id",
        "summary": "Read a single reimbursement types record (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Reimbursements_id",
        "summary": "Update or delete a single reimbursement types record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Reimbursements_id",
        "summary": "Update or delete a single reimbursement types record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Reimbursements_id",
        "summary": "Update or delete a single reimbursement types record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Reimbursements_id",
        "summary": "Update or delete a single reimbursement types record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Reimbursements_id",
        "summary": "Read a single reimbursement types record (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      }
    },
    "/payroll.xro/2.0/uk/Settings": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Settings",
        "summary": "List payroll settings (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Settings",
        "summary": "Create or update payroll settings (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Settings",
        "summary": "Create or update payroll settings (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Settings",
        "summary": "List payroll settings (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      }
    },
    "/payroll.xro/2.0/uk/Settings/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Settings_id",
        "summary": "Read a single payroll settings record (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Settings_id",
        "summary": "Update or delete a single payroll settings record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Settings_id",
        "summary": "Update or delete a single payroll settings record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Settings_id",
        "summary": "Update or delete a single payroll settings record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Settings_id",
        "summary": "Update or delete a single payroll settings record (requires payroll_uk.settings, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Settings_id",
        "summary": "Read a single payroll settings record (requires payroll_uk.settings.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.settings.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.settings.read"
      }
    },
    "/payroll.xro/2.0/uk/StatutoryLeaves": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_StatutoryLeaves",
        "summary": "List statutory leave (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_StatutoryLeaves",
        "summary": "Create or update statutory leave (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_StatutoryLeaves",
        "summary": "Create or update statutory leave (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_StatutoryLeaves",
        "summary": "List statutory leave (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/StatutoryLeaves/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_StatutoryLeaves_id",
        "summary": "Read a single statutory leave record (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_StatutoryLeaves_id",
        "summary": "Update or delete a single statutory leave record (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_StatutoryLeaves_id",
        "summary": "Update or delete a single statutory leave record (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_StatutoryLeaves_id",
        "summary": "Update or delete a single statutory leave record (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_StatutoryLeaves_id",
        "summary": "Update or delete a single statutory leave record (requires payroll_uk.employees, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_StatutoryLeaves_id",
        "summary": "Read a single statutory leave record (requires payroll_uk.employees.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.employees.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.employees.read"
      }
    },
    "/payroll.xro/2.0/uk/Timesheets": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Timesheets",
        "summary": "List timesheets (requires payroll_uk.timesheets.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.timesheets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.timesheets.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Timesheets",
        "summary": "Create or update timesheets (requires payroll_uk.timesheets, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Timesheets",
        "summary": "Create or update timesheets (requires payroll_uk.timesheets, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Timesheets",
        "summary": "List timesheets (requires payroll_uk.timesheets.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.timesheets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.timesheets.read"
      }
    },
    "/payroll.xro/2.0/uk/Timesheets/{id}": {
      "get": {
        "operationId": "get_payroll_xro_2_0_uk_Timesheets_id",
        "summary": "Read a single timesheets record (requires payroll_uk.timesheets.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.timesheets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.timesheets.read"
      },
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Timesheets_id",
        "summary": "Update or delete a single timesheets record (requires payroll_uk.timesheets, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Timesheets_id",
        "summary": "Update or delete a single timesheets record (requires payroll_uk.timesheets, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_payroll_xro_2_0_uk_Timesheets_id",
        "summary": "Update or delete a single timesheets record (requires payroll_uk.timesheets, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Timesheets_id",
        "summary": "Update or delete a single timesheets record (requires payroll_uk.timesheets, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_payroll_xro_2_0_uk_Timesheets_id",
        "summary": "Read a single timesheets record (requires payroll_uk.timesheets.read, read only)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.timesheets.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.timesheets.read"
      }
    },
    "/payroll.xro/2.0/uk/Timesheets/{id}/Lines": {
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Timesheets_id_Lines",
        "summary": "Add a line to a UK timesheet (requires payroll_uk.timesheets, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Timesheets_id_Lines",
        "summary": "Add a line to a UK timesheet (requires payroll_uk.timesheets, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "/payroll.xro/2.0/uk/Timesheets/{id}/Lines/{lineId}": {
      "post": {
        "operationId": "post_payroll_xro_2_0_uk_Timesheets_id_Lines_lineId",
        "summary": "Update or delete a UK timesheet line (requires payroll_uk.timesheets, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "lineId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_payroll_xro_2_0_uk_Timesheets_id_Lines_lineId",
        "summary": "Update or delete a UK timesheet line (requires payroll_uk.timesheets, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "lineId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_payroll_xro_2_0_uk_Timesheets_id_Lines_lineId",
        "summary": "Update or delete a UK timesheet line (requires payroll_uk.timesheets, write)",
        "tags": [
          "Payroll UK"
        ],
        "security": [
          {
            "apiKey": [
              "payroll_uk.timesheets"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "lineId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "payroll_uk.timesheets",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "/projects.xro/2.0/Projects": {
      "get": {
        "operationId": "get_projects_xro_2_0_Projects",
        "summary": "List projects (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      },
      "post": {
        "operationId": "post_projects_xro_2_0_Projects",
        "summary": "Create projects (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_projects_xro_2_0_Projects",
        "summary": "Create projects (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_projects_xro_2_0_Projects",
        "summary": "List projects (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      }
    },
    "/projects.xro/2.0/Projects/{id}": {
      "get": {
        "operationId": "get_projects_xro_2_0_Projects_id",
        "summary": "Read a single projects record (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      },
      "post": {
        "operationId": "post_projects_xro_2_0_Projects_id",
        "summary": "Update or delete a single projects record (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_projects_xro_2_0_Projects_id",
        "summary": "Update or delete a single projects record (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_projects_xro_2_0_Projects_id",
        "summary": "Update or delete a single projects record (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_projects_xro_2_0_Projects_id",
        "summary": "Update or delete a single projects record (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_projects_xro_2_0_Projects_id",
        "summary": "Read a single projects record (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      }
    },
    "/projects.xro/2.0/Projects/{id}/Tasks": {
      "get": {
        "operationId": "get_projects_xro_2_0_Projects_id_Tasks",
        "summary": "List tasks on a project (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      },
      "post": {
        "operationId": "post_projects_xro_2_0_Projects_id_Tasks",
        "summary": "Create a task on a project (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_projects_xro_2_0_Projects_id_Tasks",
        "summary": "List tasks on a project (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      }
    },
    "/projects.xro/2.0/Projects/{id}/Tasks/{taskId}": {
      "get": {
        "operationId": "get_projects_xro_2_0_Projects_id_Tasks_taskId",
        "summary": "Read a single task on a project (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      },
      "put": {
        "operationId": "put_projects_xro_2_0_Projects_id_Tasks_taskId",
        "summary": "Update or delete a task on a project (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_projects_xro_2_0_Projects_id_Tasks_taskId",
        "summary": "Update or delete a task on a project (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_projects_xro_2_0_Projects_id_Tasks_taskId",
        "summary": "Update or delete a task on a project (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_projects_xro_2_0_Projects_id_Tasks_taskId",
        "summary": "Read a single task on a project (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      }
    },
    "/projects.xro/2.0/Projects/{id}/Time": {
      "get": {
        "operationId": "get_projects_xro_2_0_Projects_id_Time",
        "summary": "List time entries on a project (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      },
      "post": {
        "operationId": "post_projects_xro_2_0_Projects_id_Time",
        "summary": "Create a time entry on a project (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_projects_xro_2_0_Projects_id_Time",
        "summary": "List time entries on a project (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      }
    },
    "/projects.xro/2.0/Projects/{id}/Time/{timeEntryId}": {
      "get": {
        "operationId": "get_projects_xro_2_0_Projects_id_Time_timeEntryId",
        "summary": "Read a single time entry (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "timeEntryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      },
      "put": {
        "operationId": "put_projects_xro_2_0_Projects_id_Time_timeEntryId",
        "summary": "Update or delete a time entry (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "timeEntryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_projects_xro_2_0_Projects_id_Time_timeEntryId",
        "summary": "Update or delete a time entry (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "timeEntryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_projects_xro_2_0_Projects_id_Time_timeEntryId",
        "summary": "Update or delete a time entry (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "timeEntryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_projects_xro_2_0_Projects_id_Time_timeEntryId",
        "summary": "Read a single time entry (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "timeEntryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      }
    },
    "/projects.xro/2.0/ProjectsUsers": {
      "get": {
        "operationId": "get_projects_xro_2_0_ProjectsUsers",
        "summary": "List project users (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      },
      "post": {
        "operationId": "post_projects_xro_2_0_ProjectsUsers",
        "summary": "Create project users (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_projects_xro_2_0_ProjectsUsers",
        "summary": "Create project users (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_projects_xro_2_0_ProjectsUsers",
        "summary": "List project users (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      }
    },
    "/projects.xro/2.0/ProjectsUsers/{id}": {
      "get": {
        "operationId": "get_projects_xro_2_0_ProjectsUsers_id",
        "summary": "Read a single project users record (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      },
      "post": {
        "operationId": "post_projects_xro_2_0_ProjectsUsers_id",
        "summary": "Update or delete a single project users record (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_projects_xro_2_0_ProjectsUsers_id",
        "summary": "Update or delete a single project users record (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_projects_xro_2_0_ProjectsUsers_id",
        "summary": "Update or delete a single project users record (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_projects_xro_2_0_ProjectsUsers_id",
        "summary": "Update or delete a single project users record (requires projects, write)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects",
        "requestBody": {
          "required": false,
          "description": "Forwarded to Xero unchanged, in whatever content type you send.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          }
        }
      },
      "head": {
        "operationId": "head_projects_xro_2_0_ProjectsUsers_id",
        "summary": "Read a single project users record (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Xero record identifier, forwarded unchanged."
          },
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      }
    },
    "/projects.xro/2.0/Tasks": {
      "get": {
        "operationId": "get_projects_xro_2_0_Tasks",
        "summary": "List tasks across projects (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      },
      "head": {
        "operationId": "head_projects_xro_2_0_Tasks",
        "summary": "List tasks across projects (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      }
    },
    "/projects.xro/2.0/Time": {
      "get": {
        "operationId": "get_projects_xro_2_0_Time",
        "summary": "List time entries across projects (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      },
      "head": {
        "operationId": "head_projects_xro_2_0_Time",
        "summary": "List time entries across projects (requires projects.read, read only)",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "apiKey": [
              "projects.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "Xero-Tenant-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The organisation to act on. Optional for a key scoped to exactly one organisation; required otherwise."
          }
        ],
        "responses": {
          "200": {
            "description": "Xero's own response, forwarded verbatim, including its rate-limit headers.",
            "headers": {
              "X-DayLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-AppMinLimit-Remaining": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        },
        "x-required-scope": "projects.read"
      }
    },
    "/connections": {
      "get": {
        "operationId": "get_connections",
        "summary": "List the Xero organisations this key may reach, in Xero's own /connections shape",
        "tags": [
          "Proxy"
        ],
        "security": [
          {
            "apiKey": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "The tenants this key is scoped to.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "tenantId": {
                        "type": "string"
                      },
                      "tenantType": {
                        "type": "string"
                      },
                      "tenantName": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Refused by the proxy (tenant_required, idempotency_key_invalid, callback_token_invalid). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "401": {
            "description": "Refused by the proxy (missing_credential, invalid_key, key_revoked, key_expired). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused by the proxy (account_suspended, ip_not_allowed, tenant_not_allowed, no_orgs, scope_denied, route_not_mapped). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "404": {
            "description": "Refused by the proxy (deferred_not_found). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "409": {
            "description": "Refused by the proxy (idempotency_in_progress). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "410": {
            "description": "Refused by the proxy (deferred_expired, deferred_cancelled). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "413": {
            "description": "Refused by the proxy (idempotency_body_too_large). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "422": {
            "description": "Refused by the proxy (idempotency_conflict). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "429": {
            "description": "Refused by the proxy (rate_limited, quota_exhausted, budget_reserved). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          },
          "502": {
            "description": "Refused by the proxy (connection_unavailable, upstream_unreachable, deferred_failed). Carries X-Proxy-Error: true.",
            "headers": {
              "X-Proxy-Error": {
                "schema": {
                  "type": "string"
                },
                "description": "Present and 'true' when the proxy generated this response."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProxyError"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "apiKey": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "xpk_live_<keyid>_<secret>",
        "description": "A Xero Proxy API key. The effective permission on a request is the intersection of the key's scopes and the scopes the underlying Xero connection holds."
      }
    },
    "schemas": {
      "ProxyError": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message"
            ],
            "properties": {
              "code": {
                "type": "string",
                "enum": [
                  "missing_credential",
                  "invalid_key",
                  "key_revoked",
                  "key_expired",
                  "account_suspended",
                  "ip_not_allowed",
                  "tenant_required",
                  "tenant_not_allowed",
                  "no_orgs",
                  "scope_denied",
                  "route_not_mapped",
                  "connection_unavailable",
                  "upstream_unreachable",
                  "rate_limited",
                  "quota_exhausted",
                  "budget_reserved",
                  "idempotency_key_invalid",
                  "idempotency_conflict",
                  "idempotency_in_progress",
                  "idempotency_body_too_large",
                  "deferred_not_found",
                  "deferred_failed",
                  "deferred_expired",
                  "deferred_cancelled",
                  "callback_token_invalid"
                ]
              },
              "message": {
                "type": "string"
              },
              "requiredScope": {
                "type": "string"
              },
              "grantedScopes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "allowedTenantIds": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "documentation": {
                "type": "string"
              }
            }
          }
        }
      }
    }
  },
  "security": [
    {
      "apiKey": []
    }
  ]
}